Python是一種開(kāi)放源代碼的腳本編程語(yǔ)言,這種腳本語(yǔ)言特別強(qiáng)調(diào)開(kāi)發(fā)速度和代碼的清晰程度。它可以用來(lái)開(kāi)發(fā)各種程序,從簡(jiǎn)單的腳本任務(wù)到復(fù)雜的、面向?qū)ο蟮膽?yīng)用程序都有大顯身手的地方。Python還被當(dāng)作一種入門程序員最適合掌握的優(yōu)秀語(yǔ)言,因?yàn)樗赓M(fèi)、面向?qū)ο?、擴(kuò)展性強(qiáng)同時(shí)執(zhí)行嚴(yán)格的編碼標(biāo)準(zhǔn)。以下是小編為你整理的python3用什么開(kāi)發(fā) ?
讀優(yōu)秀的開(kāi)源項(xiàng)目源碼。這個(gè)過(guò)程中不斷的反思和積累各種經(jīng)驗(yàn)。有了問(wèn)題就要google stackoverflow github 去找。 ?
看別人的博客。但是要掌握一些過(guò)濾不好信息的技巧。有些訂閱列表 我在專欄中也有寫。大家有空可以去看看。我還訂閱了python社區(qū)的一些郵件列表,說(shuō)實(shí)話很煩。但是有時(shí)候你們看到一些社區(qū)開(kāi)發(fā)者討論,甚至是激烈討論。我喜歡靜靜的看他們,學(xué)習(xí)他們對(duì)一些事情的看法,和思考的角度。 ?
多看書(shū),視頻。
這不是一本常規(guī)意義上Python的入門書(shū)。這本書(shū)中沒(méi)有Python關(guān)鍵字和for循環(huán)的使用,也沒(méi)有細(xì)致入微的標(biāo)準(zhǔn)庫(kù)介紹,而是完全從實(shí)戰(zhàn)的角度出發(fā),對(duì)構(gòu)建一個(gè)完整的Python應(yīng)用所需掌握的知識(shí)進(jìn)行了系統(tǒng)而完整的介紹。更為難得的是,本書(shū)的作者是開(kāi)源項(xiàng)目OpenStack的PTL(項(xiàng)目技術(shù)負(fù)責(zé)人)之一,因此本書(shū)結(jié)合了Python在OpenStack中的應(yīng)用進(jìn)行講解,非常具有實(shí)戰(zhàn)指導(dǎo)意義。 ?
《Python Cookbook(第3版)中文版》介紹了Python應(yīng)用在各個(gè)領(lǐng)域中的一些使用技巧和方法,其主題涵蓋了數(shù)據(jù)結(jié)構(gòu)和算法,字符串和文本,數(shù)字、日期和時(shí)間,迭代器和生成器,文件和I/O,數(shù)據(jù)編碼與處理,函數(shù),類與對(duì)象,元編程,模塊和包,網(wǎng)絡(luò)和Web編程,并發(fā),實(shí)用腳本和系統(tǒng)管理,測(cè)試、調(diào)試以及異常,C語(yǔ)言擴(kuò)展等。 ?
python簡(jiǎn)介
python(蟒蛇)是一門面向?qū)ο蟮哪_本解釋語(yǔ)言,是一個(gè)叫Guido van Rossum的荷蘭人在1989年發(fā)明的,*個(gè)公開(kāi)發(fā)行版發(fā)行于1991年。 ?
python是自由軟件,源代碼和解釋器都遵循GPL開(kāi)源協(xié)議。 ?
python是一門計(jì)算機(jī)語(yǔ)言。非專業(yè)的你只需要知道這一點(diǎn),python是一個(gè)用來(lái)編程寫程序的一套規(guī)則或者說(shuō)一套開(kāi)發(fā)軟件。 ?
專業(yè)的你還需要知道,python是開(kāi)源的,也就是說(shuō)你可以傳播python解釋器的源代碼,修改并研究它,面向?qū)ο缶幊?,并且是一種非編譯型的解釋性語(yǔ)言。 ?
python的優(yōu)勢(shì) ?
python編寫簡(jiǎn)單、擁有豐富的庫(kù)。 ?
代碼易讀,易維護(hù)。(python規(guī)定強(qiáng)制用空白符作為語(yǔ)句縮進(jìn)) ?
有一個(gè)在美國(guó)工作的朋友對(duì)我說(shuō),美國(guó)的六歲小孩子都在用python編程。足見(jiàn)python的簡(jiǎn)單性。 ?
庫(kù)方面很豐富,有成千上萬(wàn)的python庫(kù),甚至簡(jiǎn)單要寫爬蟲(chóng)只需要一個(gè)wget ?
學(xué)python能從業(yè)什么工作? ?
unix/linux網(wǎng)絡(luò)運(yùn)維 ?
數(shù)據(jù)挖掘/數(shù)據(jù)運(yùn)維 ?
web開(kāi)發(fā) ?
在國(guó)內(nèi),絕大部分是作為linux管理,或者數(shù)據(jù)運(yùn)維 ?
python能做什么? ?
web開(kāi)發(fā),系統(tǒng)管理,游戲開(kāi)發(fā),網(wǎng)絡(luò)程序開(kāi)發(fā),最出名的是python爬數(shù)據(jù) ?
等等... ?
python的版本 ?
目前常用的是python2和python3 ?
但是需要注意一點(diǎn)python3向下兼容并不好,也就是說(shuō)python2的代碼,可能在python3上不能運(yùn)行。但是python3的代碼卻絕對(duì)可以在python2上兼容。Python解釋器
Python是一門具有強(qiáng)類型(即變量類型是強(qiáng)制要求的)、動(dòng)態(tài)性、隱式類型(不需要做變量聲明)、大小寫敏感(var和VAR代表了不同的變量)以及面向?qū)ο?一切皆為對(duì)象)等特點(diǎn)的編程語(yǔ)言。 ?
你可以很容易的通過(guò)Python解釋器獲取幫助。如果你想知道一個(gè)對(duì)象(object)是如何工作的,那么你所需要做的就是調(diào)用help()!另外還有一些有用的方法,dir()會(huì)顯示該對(duì)象的所有方法,還有.__doc__會(huì)顯示其文檔: ?
Python中沒(méi)有強(qiáng)制的語(yǔ)句終止字符,且代碼塊是通過(guò)縮進(jìn)來(lái)指示的。縮進(jìn)表示一個(gè)代碼塊的開(kāi)始,逆縮進(jìn)則表示一個(gè)代碼塊的結(jié)束。聲明以冒號(hào)(:)字符結(jié)束,并且開(kāi)啟一個(gè)縮進(jìn)級(jí)別。單行注釋以井號(hào)字符(#)開(kāi)頭,多行注釋則以多行字符串的形式出現(xiàn)。賦值(事實(shí)上是將對(duì)象綁定到名字)通過(guò)等號(hào)(“=”)實(shí)現(xiàn),雙等號(hào)(“==”)用于相等判斷,”+=”和”-=”用于增加/減少運(yùn)算(由符號(hào)右邊的值確定增加/減少的值)。這適用于許多數(shù)據(jù)類型,包括字符串。你也可以在一行上使用多個(gè)變量。例如: ?
Python具有列表(list)、元組(tuple)和字典(dictionaries)三種基本的數(shù)據(jù)結(jié)構(gòu),而集合(sets)則包含在集合庫(kù)中(但從Python2.5版本開(kāi)始正式成為Python內(nèi)建類型)。列表的特點(diǎn)跟一維數(shù)組類似(當(dāng)然你也可以創(chuàng)建類似多維數(shù)組的“列表的列表”),字典則是具有關(guān)聯(lián)關(guān)系的數(shù)組(通常也叫做哈希表),而元組則是不可變的一維數(shù)組(Python中“數(shù)組”可以包含任何類型的元素,這樣你就可以使用混合元素,例如整數(shù)、字符串或是嵌套包含列表、字典或元組)。數(shù)組中*個(gè)元素索引值(下標(biāo))為0,使用負(fù)數(shù)索引值能夠從后向前訪問(wèn)數(shù)組元素,-1表示*一個(gè)元素。數(shù)組元素還能指向函數(shù)。 ?
Python
Python 是對(duì)于*次編程的人來(lái)說(shuō)是最為流行的編程語(yǔ)言之一,而且這不是巧合。Python 是一門通用的編程語(yǔ)言。這意味著它能應(yīng)用在廣泛的編程任務(wù)上。幾乎沒(méi)有你不能用 Python 完成的工作。這一點(diǎn)使得很多新手能在實(shí)際中應(yīng)用這門編程語(yǔ)言。另外, Python 有兩個(gè)重要的設(shè)計(jì)特征,使得其對(duì)于新手更友好:清晰、類似于英語(yǔ)的語(yǔ)法,和強(qiáng)調(diào)代碼的可讀性。 ?
從本質(zhì)上講,一門編程語(yǔ)言的語(yǔ)法就是你所輸入的能讓這編程語(yǔ)言執(zhí)行的內(nèi)容。這包括單詞,特殊字符(例如 ;、$、%或者{},空格或者以上任意的組合。Python 盡可能地使用英語(yǔ),不像其他編程語(yǔ)言那樣經(jīng)常使用標(biāo)點(diǎn)符號(hào)或者特殊的字符。所以,Python 閱讀起來(lái)更自然、更像是人類語(yǔ)言。這一點(diǎn)幫助新的編程人員可以聚焦于解決問(wèn)題,而能花費(fèi)更少的時(shí)間糾結(jié)于語(yǔ)言自身的特性上。 ?
清晰語(yǔ)法的同時(shí)注重于可讀性。在編寫代碼的時(shí)候,你所創(chuàng)造的代碼的邏輯“塊”,就是一些為了相關(guān)聯(lián)目標(biāo)而共同工作的代碼。在許多編程語(yǔ)言里,這些塊用特殊字符所標(biāo)記(或限定)。它們或許被{}或者其他字符所包住。塊分割字符和你寫代碼的能力,這兩者不管怎么結(jié)合起來(lái)都會(huì)降低可讀性。讓我們來(lái)看一個(gè)例子。本文中所涉及的工具都可以在www.linuxprobe.com/tools中下載! ?
這有個(gè)被稱為fun的簡(jiǎn)短函數(shù)。它要求輸入一個(gè)數(shù)字,x就是它的輸入。如果x等于0,它將會(huì)運(yùn)行另一個(gè)被稱為no_fun的函數(shù)(這函數(shù)做了些很無(wú)趣的事情)。新函數(shù)不需要輸入。反之,簡(jiǎn)短函數(shù)將會(huì)運(yùn)行一個(gè)使用輸入x 的名為 big_fun 的函數(shù)。 ?
這個(gè)函數(shù)用 C 語(yǔ)言 將會(huì)是這樣寫的:
void fun(int x) { if (x == 0) { no_fun(); } else { big_fun(x); } }
或者,像是這樣:
void fun(int x) { if (x == 0) {no_fun(); } else {big_fun(x); }}
功能上兩者等價(jià),而且都能運(yùn)行。{} 和; 告訴我們哪里是代碼塊的不同部分。然而,*個(gè)對(duì)于人們來(lái)說(shuō)明顯更容易閱讀。相比之下完成相同功能的 Python 是這樣的: ?
def fun(x): if x == 0: no_fun() else: big_fun(x) ?
在這里,只有一個(gè)選擇。如果代碼不是這樣排列的,它將無(wú)法工作。如果你編寫了可以工作的代碼,你就有了可閱讀的代碼。同樣也留意一下兩者在語(yǔ)法上的差異。不同的是def,在 Python 代碼中這個(gè)詞是英語(yǔ)單詞,大家都很熟悉這單詞的含義(LCTT 譯注:def 是 definition 的縮寫,定義的意思)。在 C 語(yǔ)言的例子中void 和int 就沒(méi)有那么直觀。 ?
Python 也有個(gè)優(yōu)秀的生態(tài)系統(tǒng)。這有兩層意思,*,你有一個(gè)使用該語(yǔ)言的龐大、活躍的社區(qū),當(dāng)你需要幫助指導(dǎo)的時(shí)候,你能向他們求助。第二,它有大量早已存在的庫(kù),庫(kù)是指完成特定功能的代碼集合。從高級(jí)數(shù)學(xué)運(yùn)算、圖形到計(jì)算機(jī)視覺(jué),甚至是你能想象到的任何事情。 ?
Python 作為你*門編程語(yǔ)言有兩個(gè)缺點(diǎn)。*是它有時(shí)候安裝起來(lái)很復(fù)雜,特別是在運(yùn)行著 Windows 的電腦上。(如果你有一臺(tái) Mac 或者 Linux 的電腦,Python 默認(rèn)已經(jīng)安裝好了。)雖然這問(wèn)題不是不能克服,而且情況總在改善,但是這對(duì)于一些人來(lái)說(shuō)還是個(gè)阻礙。第二個(gè)缺點(diǎn)是,對(duì)于那些明確想要建設(shè)網(wǎng)站的人來(lái)講,雖然有很多用 Python 寫的項(xiàng)目(例如 Django 和Flask ),但是編寫運(yùn)行在瀏覽器上的 Python 代碼卻沒(méi)有什么好的選擇。它主要是后臺(tái)或者服務(wù)器端語(yǔ)言。