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