国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

熱門文章> 學(xué)python能干嘛? >

學(xué)python能干嘛?

36氪企服點(diǎn)評小編
2021-04-09 14:50
717次閱讀

   什么人學(xué)的Python好?學(xué)習(xí)Python有沒有任何基礎(chǔ)?Python語言的興起,迅速,巨大的影響力,它所帶來的變化,已經(jīng)遠(yuǎn)遠(yuǎn)超出了我們的想象。隨著人工智能時(shí)代的到來,Python開始變得非?;鸨o數(shù)據(jù)分析帶來了巨大的便利。所以沒有基礎(chǔ)的人可以學(xué)習(xí)Python?學(xué)python能干嘛?接下來小編就帶領(lǐng)大家看看學(xué)python能干嘛。

學(xué)python能干嘛?

python的作用

一、python是什么?

   Python是一種跨平臺的計(jì)算機(jī)程序設(shè)計(jì)語言。 是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。最初被設(shè)計(jì)用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。

二、python的用法?

   Python的設(shè)計(jì)目標(biāo)之一是讓代碼具備高度的可閱讀性。它設(shè)計(jì)時(shí)盡量使用其它語言經(jīng)常使用的標(biāo)點(diǎn)符號和英文單字,讓代碼看起來整潔美觀。它不像其他的靜態(tài)語言如C、Pascal那樣需要重復(fù)書寫聲明語句,也不像它們的語法那樣經(jīng)常有特殊情況和意外。

   Python開發(fā)者有意讓違反了縮進(jìn)規(guī)則的程序不能通過編譯,以此來強(qiáng)制程序員養(yǎng)成良好的編程習(xí)慣。并且Python語言利用縮進(jìn)表示語句塊的開始和退出(Off-side規(guī)則),而非使用花括號或者某種關(guān)鍵字。增加縮進(jìn)表示語句塊的開始,而減少縮進(jìn)則表示語句塊的退出??s進(jìn)成為了語法的一部分。例如if語句:python3

   根據(jù)PEP的規(guī)定,必須使用4個(gè)空格來表示每級縮進(jìn)(不清楚4個(gè)空格的規(guī)定如何,在實(shí)際編寫中可以自定義空格數(shù),但是要滿足每級縮進(jìn)間空格數(shù)相等)。使用Tab字符和其它數(shù)目的空格雖然都可以編譯通過,但不符合編碼規(guī)范。支持Tab字符和其它數(shù)目的空格僅僅是為兼容很舊的的Python程序和某些有問題的編輯程序。

折疊控制語句

if語句,當(dāng)條件成立時(shí)運(yùn)行語句塊。經(jīng)常與else, elif(相當(dāng)于else if) 配合使用。

for語句,遍歷列表、字符串、字典、集合等迭代器,依次處理迭代器中的每個(gè)元素。

while語句,當(dāng)條件為真時(shí),循環(huán)運(yùn)行語句塊。

try語句,與except,finally配合使用處理在程序運(yùn)行中出現(xiàn)的異常情況。

class語句,用于定義類型。

def語句,用于定義函數(shù)和類型的方法。

pass語句,表示此行為空,不運(yùn)行任何操作。

assert語句,用于程序調(diào)試階段時(shí)測試運(yùn)行條件是否滿足。

with語句,Python2.6以后定義的語法,在一個(gè)場景中運(yùn)行語句塊。比如,運(yùn)行語句塊前加密,然后在語句塊運(yùn)行退出后解密。

yield語句,在迭代器函數(shù)內(nèi)使用,用于返回一個(gè)元素。自從Python 2.5版本以后。這個(gè)語句變成一個(gè)運(yùn)算符。

raise語句,制造一個(gè)錯誤。

import語句,導(dǎo)入一個(gè)模塊或包。

from import語句,從包導(dǎo)入模塊或從模塊導(dǎo)入某個(gè)對象。

import as語句,將導(dǎo)入的對象賦值給一個(gè)變量。

in語句,判斷一個(gè)對象是否在一個(gè)字符串/列表/元組里。

折疊表達(dá)式

Python的表達(dá)式寫法與C/C++類似。只是在某些寫法有所差別。

主要的算術(shù)運(yùn)算符與C/C++類似。+, -, *, /, //, **, ~, %分別表示加法或者取正、減法或者取負(fù)、乘法、除法、整除、乘方、取補(bǔ)、取余。>>, <<表示右移和左移。&, |, ^表示二進(jìn)制的AND, OR, XOR運(yùn)算。>, <, ==, !=, <=, >=用于比較兩個(gè)表達(dá)式的值,分別表示大于、小于、等于、不等于、小于等于、大于等于。在這些運(yùn)算符里面,~, |, ^, &, <<, >>必須應(yīng)用于整數(shù)。

Python使用and, or, not表示邏輯運(yùn)算。

is, is not用于比較兩個(gè)變量是否是同一個(gè)對象。in, not in用于判斷一個(gè)對象是否屬于另外一個(gè)對象。

Python支持"列表推導(dǎo)式"(list comprehension),比如計(jì)算0-9的平方和:

Python使用lambda表示匿名函數(shù)。匿名函數(shù)體只能是表達(dá)式。比如:

Python使用y if cond else x表示條件表達(dá)式。意思是當(dāng)cond為真時(shí),表達(dá)式的值為y,否則表達(dá)式的值為x。相當(dāng)于C++和Java里的cond?y:x。

Python區(qū)分列表(list)和元組(tuple)兩種類型。list的寫法是[1,2,3],而tuple的寫法是(1,2,3)??梢愿淖僱ist中的元素,而不能改變tuple。在某些情況下,tuple的括號可以省略。tuple對于賦值語句有特殊的處理。因此,可以同時(shí)賦值給多個(gè)變量,比如:

特別地,可以使用以下這種形式來交換兩個(gè)變量的值:

Python使用'(單引號)和"(雙引號)來表示字符串。與Perl、Unix Shell語言或者Ruby、Groovy等語言不一樣,兩種符號作用相同。一般地,如果字符串中出現(xiàn)了雙引號,就使用單引號來表示字符串;反之則使用雙引號。如果都沒有出現(xiàn),就依個(gè)人喜好選擇。出現(xiàn)在字符串中的\(反斜杠)被解釋為特殊字符,比如\n表示換行符。表達(dá)式前加r指示Python不解釋字符串中出現(xiàn)的\。這種寫法通常用于編寫正則表達(dá)式或者Windows文件路徑。

Python支持列表切割(list slices),可以取得完整列表的一部分。支持切割操作的類型有str, bytes, list, tuple等。它的語法是...[left:right]或者...[left:right:stride]。假定nums變量的值是[1, 3, 5, 7, 8, 13, 20],那么下面幾個(gè)語句為真:

nums[2:5] == [5, 7, 8] 從下標(biāo)為2的元素切割到下標(biāo)為5的元素,但不包含下標(biāo)為5的元素。

nums[1:] == [3, 5, 7, 8, 13, 20] 切割到最后一個(gè)元素。

nums[:-3] == [1, 3, 5, 7] 從最開始的元素一直切割到倒數(shù)第3個(gè)元素。

nums[:] == [1, 3, 5, 7, 8, 13, 20] 返回所有元素。改變新的列表不會影響到nums。

nums[1:5:2] == [3, 7] 從下標(biāo)為1的元素切割到下標(biāo)為5的元素,且步長為2。

折疊函數(shù)

Python的函數(shù)支持遞歸、默認(rèn)參數(shù)值、可變參數(shù),但不支持函數(shù)重載。為了增強(qiáng)代碼的可讀性,可以在函數(shù)后書寫"文檔字符串"(Documentation Strings,或者簡稱docstrings),用于解釋函數(shù)的作用、參數(shù)的類型與意義、返回值類型與取值范圍等。可以使用內(nèi)置函數(shù)help()打印出函數(shù)的使用幫助。比如:

>>> def randint(a, b):

... "Return random integer in range [a, b], including both end points."...

>>> help(randint)

Help on function randint in module __main__:

randint(a, b)

Return random integer inrange[a, b], including both end points.

折疊對象的方法

對象的方法是指綁定到對象的函數(shù)。調(diào)用對象方法的語法是instance.method(arguments)。它等價(jià)于調(diào)用Class.method(instance, arguments)。當(dāng)定義對象方法時(shí),必須顯式地定義第一個(gè)參數(shù),一般該參數(shù)名都使用self,用于訪問對象的內(nèi)部數(shù)據(jù)。這里的self相當(dāng)于C++, Java里面的this變量,但是我們還可以使用任何其它合法的參數(shù)名,比如this 和 mine 等,self與C++,Java里面的this不完全一樣,它可以被看作是一個(gè)習(xí)慣性的用法,我們傳入任何其它的合法名稱都行,比如:

Python認(rèn)識一些以"__"開始并以"__"結(jié)束的特殊方法名,它們用于實(shí)現(xiàn)運(yùn)算符重載和實(shí)現(xiàn)多種特殊功能。

折疊類型

Python采用動態(tài)類型系統(tǒng)。在編譯的時(shí)候,Python不會檢查對象是否擁有被調(diào)用的方法或者屬性,而是直至運(yùn)行時(shí),才做出檢查。所以操作對象時(shí)可能會拋出異常。不過,雖然Python采用動態(tài)類型系統(tǒng),它同時(shí)也是強(qiáng)類型的。Python禁止沒有明確定義的操作,比如數(shù)字加字符串。

與其它面向?qū)ο笳Z言一樣,Python允許程序員定義類型。構(gòu)造一個(gè)對象只需要像函數(shù)一樣調(diào)用類型即可,比如,對于前面定義的Fish類型,使用Fish()。類型本身也是特殊類型type的對象(type類型本身也是type對象),這種特殊的設(shè)計(jì)允許對類型進(jìn)行反射編程。

Python內(nèi)置豐富的數(shù)據(jù)類型。與Java、C++相比,這些數(shù)據(jù)類型有效地減少代碼的長度。下面這個(gè)列表簡要地描述了Python內(nèi)置數(shù)據(jù)類型(適用于Python 3.x):

三、用python能干嘛?

圖形處理:有PIL、Tkinter等圖形庫支持,能方便進(jìn)行圖形處理。

數(shù)學(xué)處理:NumPy擴(kuò)展提供大量與許多標(biāo)準(zhǔn)數(shù)學(xué)庫的接口。

文本處理:python提供的re模塊能支持正則表達(dá)式,還提供SGML,XML分析模塊,許多程序員利用python進(jìn)行XML程序的開發(fā)。

數(shù)據(jù)庫編程:程序員可通過遵循Python DB-API(數(shù)據(jù)庫應(yīng)用程序編程接口)規(guī)范的模塊與Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等數(shù)據(jù)庫通信。python自帶有一個(gè)Gadfly模塊,提供了一個(gè)完整的SQL環(huán)境。

網(wǎng)絡(luò)編程:提供豐富的模塊支持sockets編程,能方便快速地開發(fā)分布式應(yīng)用程序。很多大規(guī)模軟件開發(fā)計(jì)劃例如Zope,Mnet 及BitTorrent. Google都在廣泛地使用它。

Web編程:應(yīng)用的開發(fā)語言,支持最新的XML技術(shù)。

多媒體應(yīng)用:Python的PyOpenGL模塊封裝了"OpenGL應(yīng)用程序編程接口",能進(jìn)行二維和三維圖像處理。PyGame模塊可用于編寫游戲軟件。

pymo引擎:PYMO全稱為python memories off,是一款運(yùn)行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系統(tǒng)上的AVG游戲引擎。因其基于python2.0平臺開發(fā),并且適用于創(chuàng)建秋之回憶(memories off)風(fēng)格的AVG游戲,故命名為PYMO。

黑客編程:python有一個(gè)hack的庫,內(nèi)置了你熟悉的或不熟悉的函數(shù),但是缺少成就感。

用Python寫簡單爬蟲

首先,要通過urllib2這個(gè)Module獲得對應(yīng)的HTML源碼。(PS:在python3.3之后urllib2已經(jīng)不能再用,代之以urllib)

通過上面這三句就可以將URL的源碼存在content變量中,其類型為字符型。

接下來是要從這堆HTML源碼中提取我們需要的內(nèi)容。用Chrome查看一下對應(yīng)的內(nèi)容的代碼(也可以用Firefox的Firebug)。

可以看到url的信息存儲在span標(biāo)簽中,要獲取其中的信息可以用正則式。

   如今社會的信息更新異常迅速,又迎來了新的大數(shù)據(jù)時(shí)代,因此,如果各個(gè)行業(yè)不與時(shí)俱進(jìn),就會面臨優(yōu)勝劣汰的問題,知識在不斷更新,只有掌握了一技之長,才能在這個(gè)社會中不敗。看完小編的介紹,你知道學(xué)python能干嘛了嗎?既然有了想學(xué)習(xí)python的想法,那就趕快行動吧!

[免責(zé)聲明]

文章標(biāo)題: 學(xué)python能干嘛?

文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)溝通。發(fā)送郵件至36dianping@36kr.com,我們會在3個(gè)工作日內(nèi)處理。

消息通知
咨詢?nèi)腭v
商務(wù)合作