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