好久沒有更新了,最近買了幾本書啃了半個月。越學(xué)越覺得自己無知,必須要好好加強(qiáng)一下基礎(chǔ),其中買了Python學(xué)習(xí)手冊,本來看二手有便宜的,但是是第四版的,我買的最新版第五版18年出的講的是3.3,但現(xiàn)在是3.8了,所以對于第四版我是極其不推薦的。
言歸正傳,寫這個專題主要是精簡一下書上內(nèi)容,添加一些樣例,對于書上的每章總結(jié)記錄下來,瞎編一些自己的理解。
這本書是譯作,或多或少有一些翻譯問題,語句可能不是十分通順,我再理解一遍可能會有許多專業(yè)名詞在大意不變的情況下發(fā)生改變,望見諒。
第一章:問答環(huán)節(jié)
為什么使用Python:
軟件質(zhì)量:Python注重可讀性,一致性,和軟件質(zhì)量。設(shè)計之初就具有良好的可讀性,因此具備了比傳統(tǒng)腳本語言更優(yōu)秀的可用性和可維護(hù)性;一致性保障了其易于理解。(可讀性就是真理?。。。?/p>
開發(fā)者效率:相較于C,C++,JAVA等編譯/靜態(tài)語言,Python的開發(fā)者效率提升了數(shù)倍,代碼長度往往只有C++或Java的五分之一到三分之一,意味著錄入更少的代碼,調(diào)試更少的代碼,維護(hù)更少的代碼;Python代碼可以立即執(zhí)行,而無需傳統(tǒng)的編譯/靜態(tài)語言所必須的編譯及鏈接等步驟,進(jìn)一步提升效率(代碼短就是生產(chǎn)效率?。?/p>
程序的可移植性:絕大多數(shù)Python程序不做任何改變即可在所有主流計算機(jī)平臺上運(yùn)行,如Linux和Windows之間只需要簡單的在機(jī)器間復(fù)制代碼即可。Python提供了多種可選的代碼庫,其中包括圖形界面,數(shù)據(jù)庫接入,基于web的系統(tǒng)等在內(nèi)的各種程序,其中甚至包括程序啟和文件夾處理這樣的操作系統(tǒng)級接口,也成為了python可移植性的一部分。(說一下就自己的理解,python的許多庫都是可以通用的,在不同的操作系統(tǒng)上運(yùn)行)
標(biāo)準(zhǔn)庫的支持:Python內(nèi)置了眾多預(yù)構(gòu)建并可移植的功能模塊,這些功能模塊叫做標(biāo)準(zhǔn)庫。并且可以通過自行開發(fā)庫或第三方應(yīng)用來擴(kuò)展。(就是有許多第三方庫支持還有許多內(nèi)置的標(biāo)準(zhǔn)庫,可以干很多事,中文分詞,網(wǎng)絡(luò)爬蟲,機(jī)器學(xué)習(xí)啥都干;并且規(guī)模還在不斷擴(kuò)大)
組件集成:Python絕不僅僅是一個獨(dú)立的工具。Python腳本可以通過多種集成機(jī)制輕松的與應(yīng)用程序的其他部分進(jìn)行通訊。這種集成使python成為實(shí)現(xiàn)產(chǎn)品定制和擴(kuò)展的工具。Python代碼可以調(diào)用C,C++的庫,可以被C,C++調(diào)用,可以與Java和NET組件集成,可以與COM和silverlight等框架通訊,可以通過串行端口與設(shè)備進(jìn)行連接。。。(我們并不孤單,有什么事辦不了可以找人幫忙,我們都是工具人)
享受樂趣:Python的易用性和強(qiáng)大內(nèi)置工具使編程成為一種樂趣,而不是瑣碎的重復(fù)勞動,這是一個難以表達(dá)的優(yōu)點(diǎn),對于提升開發(fā)者效率有很重要的幫助(對于我良好的可讀性是編程的樂趣,所想即可為,所為皆我想)
作者認(rèn)為軟件質(zhì)量和開發(fā)者效率是對于絕大多數(shù)python用戶而言也許是Python最具有吸引力的優(yōu)點(diǎn),值得用更大篇幅進(jìn)行論述。
但是我不想,我現(xiàn)在要做的是把書讀薄,(主要是我是純手打累?。?/p>
該寫還得寫啊,
軟件質(zhì)量:
概括地說,軟件質(zhì)量就是“軟件與明確地和隱含地定義的需求相一致的程度”。更具體地說,軟件質(zhì)量是軟件與明確地敘述的功能和性能需求、文檔中明確描述的開發(fā)標(biāo)準(zhǔn)以及任何專業(yè)開發(fā)的軟件產(chǎn)品都應(yīng)該具有的隱含特征相一致的程度。從管理角度對軟件質(zhì)量進(jìn)行度量, 可將影響軟件質(zhì)量的主要因素劃分為三組,分別反應(yīng)用戶在使用軟件產(chǎn)品時的三種不同傾向或觀點(diǎn):產(chǎn)品運(yùn)行(正確性、健壯性、效率、完整性、可用性、風(fēng)險);產(chǎn)品修改(可理解性、可維修性、靈活性、可測試性);產(chǎn)品轉(zhuǎn)移(可移植性、可再用性、互運(yùn)行性)
從設(shè)計之初,Python就秉承了一種獨(dú)特的簡潔而極具可讀性的語法,以及一種高度一致的編程模型。Python似乎是‘’人腦思維直覺吻合‘’。Python是一個設(shè)計風(fēng)格始終如一的開發(fā)平臺,可以保證開發(fā)出具有一致性的代碼。
從哲學(xué)理念上講,Python采取了一種所謂極簡主義的設(shè)計理念,這意味著盡管實(shí)現(xiàn)某一編程任務(wù)通常有多種方法,往往只有一種方法是顯而易見的,還有有些是不那么明顯的方法,而且貫穿整門語言都采用這一緊湊的交互形式。(這是書上原話,翻譯的作品讀著是真難受啊;就當(dāng)成在編程時都采用簡潔的方式,即顯而易見的)此外,Python并不會為你做任意的選擇,當(dāng)交互模式模棱兩可時,使用簡潔明了的方式要優(yōu)于用魔法(要用魔法打敗魔法)。
明確勝于隱晦,簡單勝于復(fù)雜?。?!
import this
除了以上的設(shè)計宗旨,Python還包含模塊化,OPP在內(nèi)的一些工具來提升重用性(以前學(xué)習(xí)軟件質(zhì)量保證時沒感覺有什么用,現(xiàn)在回頭看學(xué)的東西都是有用的),而且Python致力于提升編碼質(zhì)量,Python程序員也都很自然的秉承了這一理念。(吹逼是要所有人來負(fù)責(zé)的)
開發(fā)者效率:
無論在什么背景下,效率都很重要。Python作為開發(fā)工具均以付出更少的經(jīng)歷完成更多的任務(wù)而脫穎而出(人生苦短,我用Python)。Python致力于開發(fā)速度的最優(yōu)化,其簡單的語法,動態(tài)類型,無需編譯,內(nèi)置工具等特性使程序員能夠快速完成項目開發(fā),而使用其他開發(fā)語言則至少需要幾倍的時間。其最終結(jié)果就是,Python把開發(fā)者效率提升數(shù)倍。
自己總結(jié)一下為什么使用Python
首先是質(zhì)量和效率,簡潔而具有高度可讀性的代碼,設(shè)計風(fēng)格始終如一保證了代碼的一致性,極簡主義對質(zhì)量的追求決定了代碼質(zhì)量;簡潔的語法,動態(tài)類型,無需編譯,眾多庫等特性提升了開發(fā)效率。
優(yōu)秀的可移植性以及海量的標(biāo)準(zhǔn)庫的支持,組件集成使Python不是一個獨(dú)立的工具,與其他工具通訊更好的完成任務(wù)。享受樂趣(能掙錢就行)
Python是一門“腳本語言’’嗎
(你說是就是吧)
Python是一門通用類型的編程語言,而它時常扮演者腳本語言的角色。一般來說,Python可以定義為一門面向?qū)ο蟮哪_本語言。但是?。?!Python是一門融合了面向過程、函數(shù)式和面向?qū)ο缶幊谭妒降亩嗄繕?biāo)語言。(百度百科說:是一種面向?qū)ο蟮膭討B(tài)類型語言,解釋型腳本語言;就是聽一樂,怎么說都行,叫這個真干嘛啊,咋的都是那個Python,但是公認(rèn)的是動態(tài)類型,解釋型)
無論如何,腳本一詞如同膠水一樣粘在Python上,這不同于其他需要編寫大量繁復(fù)代碼的語言。人們往往用‘腳本’(script)而不是‘程序’(program)一詞來描述Python的代碼文件。
出于對這項傳統(tǒng)的沿襲,腳本和程序是可以相互代替的,其中腳本往往傾向于描述簡單的頂層代碼文件,而程序則是用來描述那些相對復(fù)雜一些的多文件應(yīng)用。
由于腳本語言眾說紛紜,因此,一些人也該認(rèn)為這詞在Python中的使用應(yīng)該被完全禁止(+1)。實(shí)際上,人們往往給Python冠以下三個不同的角色,其中有些角色相對于其余的角色更重要(這里我感覺好像是翻譯有一點(diǎn)問題,感覺應(yīng)該是? 人們認(rèn)為python是腳本語言因為以下三個原因 ):
shell工具:
偶爾當(dāng)人們聽到Python是腳本語言時,他們會認(rèn)為Python是一個面向系統(tǒng)的腳本語言代碼工具。這些程序往往在命令運(yùn)行中,實(shí)現(xiàn)諸如文本文件的處理以及啟動其他程序等任務(wù)。
Python程序當(dāng)然能夠以這樣的角色工作,但這僅僅是Python應(yīng)用范圍的很小一部分。它不止是一種很好的shell腳本語言(我會這個,不能說我只會這個)
控制語言:
對于其他人而言,腳本語言意味著控制或重定向其他應(yīng)用程序組件的‘膠水’層。Python常常部署在大型應(yīng)用中。如測試硬件設(shè)備時,Python程序可以調(diào)用能夠進(jìn)行硬件底層訪問的相關(guān)組件。類似的,在終端用戶產(chǎn)品定制的過程中,應(yīng)用程序可以在策略點(diǎn)處調(diào)用一些Python代碼,而無需分發(fā)或重新編譯整個系統(tǒng)代碼。(這里的控制語言我屬實(shí)沒理解,百度的也是數(shù)控語言,但看介紹應(yīng)該是指python的膠水性質(zhì),就當(dāng)做組件集成吧)
Python的簡潔性使其從本質(zhì)上能夠成為一個靈活的控制工具。然而從技術(shù)上來講,這也只是Python的常規(guī)角色之一,許多或許絕大部分Python代碼作為獨(dú)立的腳本執(zhí)行時無需調(diào)用或了解其他的集成組件。然而,Python不只是一種控制語言。
使用便捷:
可能對于腳本語言最好的解釋,就是一類應(yīng)用于快速變成任務(wù)的一種簡單語言。對于Python來說,這確實(shí)是實(shí)至名歸,其敏捷的開發(fā)周期促進(jìn)了探索、增量式的軟件開發(fā)模型。
但是千萬不要被迷惑,誤以為Python僅可以實(shí)現(xiàn)簡單的任務(wù),恰恰相反,Python的易用性和靈活性使編程任務(wù)變得簡單。(我完成這個任務(wù)不是因為它簡單,而是我讓它變的簡單)Python有著一些簡潔的特性,但是它允許持續(xù)按照需求盡可能優(yōu)雅的方式擴(kuò)展。通常應(yīng)用于快速作業(yè)和長期戰(zhàn)略開發(fā)
所以Python是不是腳本語言呢?這取決于看待問題的視角。從一般意義上講,腳本語言一詞可能最適用于描述一種Python所支持的快速和靈活的開發(fā)模式,而不是特定的應(yīng)用領(lǐng)域的概念。
說一下自己的理解,是腳本語言,但絕不僅僅是腳本語言??梢允莝hell工具,膠水語言應(yīng)用于特定領(lǐng)域發(fā)揮腳本語言的特性;也可以因其便捷的特點(diǎn)高效完成簡單的任務(wù)當(dāng)做腳本語言。
但Python的應(yīng)用領(lǐng)域絕不僅僅這些,對于腳本語言這一稱呼,可以是,但不是全部。
Python是什么由用戶決定,是牙簽是桌子全看你的發(fā)揮。
好吧,Python的缺點(diǎn)是什么:
(看不見,看不見,看不見)
Python重大且且普遍的唯一缺點(diǎn)(不是我說的,書上寫的)就是:在現(xiàn)有的實(shí)現(xiàn)方式下,與C,C++這類完全編譯并且較底層的語言相比,Python的執(zhí)行速度還不夠快。盡管這類任務(wù)在今天已經(jīng)非常少見,你仍可能需要使用較底層語言來接近問題的核心,因為這些底層硬件的框架有著更加直接的對應(yīng)關(guān)系。(因為底層的原因,執(zhí)行速度還是不夠快)
目前Python的標(biāo)準(zhǔn)實(shí)現(xiàn)方式是將源代碼的語句編譯(翻譯,這個詞我不太明確)為字節(jié)碼的形式,之后再將字節(jié)碼解釋出來。由于字節(jié)碼是一種與平臺無關(guān)的格式,因而它具有可移植性。
Python程序通常不會將代碼編譯成底層的二進(jìn)制代碼(這是慢的原因),一些Python程序?qū)认馛這樣的完全編譯語言慢一些。
程序的類型決定了是否需要關(guān)注程序的執(zhí)行速度。Python已經(jīng)優(yōu)化過很多次,并且Python在絕大多數(shù)應(yīng)用領(lǐng)域的速度也足夠快。此外,一旦使用Python做一些‘現(xiàn)實(shí)’世界的事情,程序?qū)嶋H上是以C的速度運(yùn)行的,如處理某一個文件或者構(gòu)建一個用戶的圖形界面。因為在這樣的任務(wù)中,Python代碼會立即調(diào)用Python解釋器內(nèi)部已經(jīng)編譯的C代碼。(對于一些特定的任務(wù),Python其實(shí)內(nèi)置了C代碼)。究其根源,Python開發(fā)速度帶來的效益往往比執(zhí)行利率帶來的損失更為重要(這塊我不太贊同,提升效率與開發(fā)速度帶來的效益不應(yīng)該是黑白關(guān)系,不能為了速度什么都不管,我們是要用代碼改變世界的人),特別是在現(xiàn)代計算機(jī)的處理速度得到極大提升的情況(提升不應(yīng)該是用來揮霍,不敢說做的更好,但是在不變壞的情況下做的更多)。
然而即便當(dāng)今的CPU的處理速度很快,在一些原因領(lǐng)域仍然需要優(yōu)化程序的執(zhí)行速度,如數(shù)值計算和動畫渲染,常常需要其核心數(shù)據(jù)處理單元至少以C的速度執(zhí)行。如果你在以上領(lǐng)域工作,仍然可用使用Python,只需要分離一部分需要優(yōu)化速度的應(yīng)用,將其轉(zhuǎn)化為編譯好的擴(kuò)展插件,并且在整個系統(tǒng)中使用Python腳本將這部分應(yīng)用連接起來(就是膠水,找C來幫忙)
我自己總結(jié)一下作者的觀點(diǎn),沒有缺點(diǎn),如果非說有就是執(zhí)行速度,但是我開發(fā)速度快啊,非要有速度我內(nèi)置C,解決不了的我還是膠水可以找人幫忙。NB!
如今誰在使用Python:
(這部分我不太想寫了,介紹一些Python企業(yè))
成功案例:http://www.python.org/about/success
應(yīng)用程序領(lǐng)域:http:www.python.org/about/apps
用戶意見:http://www.python.org/about/quotes
維基百科頁面:http:en.wikipedia.org/wiki/List_of_Python_software
如今貫穿所有使用Python的唯一共同思路也許就是:Python在所有領(lǐng)域幾乎都無所不能,Python的通用性使其能夠應(yīng)用于任何場合,而不是只能在一處使用。
牛逼就完了嗷
使用Python可以做什么:
(啥都行,越寫越墨跡)
系統(tǒng)編程
Python對操作系統(tǒng)服務(wù)的內(nèi)置接口,使其能夠成為編寫可移植性的維護(hù)操作系統(tǒng)的管理工具和部件(有時也叫做shell工具)的理想工具。Python可以搜索文件和目錄樹,可以運(yùn)行其他程序,用進(jìn)程或線程進(jìn)行并行處理等。
圖形用戶界面(GUI)
Python簡潔以及快速的開發(fā)周期十分適合開發(fā)桌面GUI程序。Python內(nèi)置了thinter的標(biāo)準(zhǔn)面向?qū)ο蠼涌赥K GUI API,使Python程序可以生成可移植性的本地化設(shè)計感的GUI,并且具有良好的移植性。通過適當(dāng)?shù)膸?,可以在Python中使用其他的GUI工具包。
(畫圖,做個界面都行)
Internet腳本
Python提供了標(biāo)準(zhǔn)的Internet模塊,使Python程序能夠廣泛的在多種網(wǎng)絡(luò)任務(wù)中發(fā)揮作用,無論在客戶端還是服務(wù)器端??梢酝ㄟ^套接字進(jìn)行通信;從發(fā)送到服務(wù)器端的CGI腳本表單中提取信息;通過FTP傳輸文件;解析生成XML和JSON文檔;發(fā)送,接收、生成、解析Email;通過URL獲取網(wǎng)頁;從獲取的網(wǎng)頁中解析HTML文件;通過XML-RPC和Telnet等協(xié)議進(jìn)行通訊;Python web開發(fā)包如Django;大量第三方Internet編程工具。
(爬蟲,web開發(fā))
組件集成
就是膠水語言,Python通過C/C++系統(tǒng)進(jìn)行擴(kuò)展以及嵌入C/C++系統(tǒng)的特性,使其能夠作為一種靈活的粘合語言,可以腳本化處理其他系統(tǒng)和組件。如將一個C庫集成到Python中,就可以讓你利用Python來進(jìn)行測試并且調(diào)用庫中的其他組件;將·Python嵌入到其他產(chǎn)品中,則可以讓你在不需要編譯整個產(chǎn)品或分發(fā)源代碼的情況下,單獨(dú)對產(chǎn)品進(jìn)行定制
(膠水)
數(shù)據(jù)庫編程
Python提供了所有主流關(guān)系型數(shù)據(jù)庫系統(tǒng)的接口,Python定義了一種通過Python腳本存取SQL數(shù)據(jù)庫系統(tǒng)的可移植的數(shù)據(jù)庫API,這個API對于各種底層應(yīng)用的數(shù)據(jù)庫系統(tǒng)都是統(tǒng)一的。
對于非SQL部分,Python的標(biāo)準(zhǔn)pickle模塊提供了一個簡單的對象持久化系統(tǒng),它能夠讓城鄉(xiāng)輕松的將Python對象保存到文件和類文件載體中,以及從這些載體中恢復(fù)。PyMongo作為mongodb的一個接口,使用Python自有的列表和字典的結(jié)構(gòu)來存儲數(shù)據(jù),其文本可以使用Python自帶的標(biāo)準(zhǔn)庫json模塊進(jìn)行解析和創(chuàng)建
(連接數(shù)據(jù)庫)
快速原型
對于Python程序來說,使用Python或C編寫的組件看起來都是一樣的,正因為如此,我們可以在一開始利用Python做系統(tǒng)原型,之后再將組件移植到C或者C++這樣的編譯語言上。與其他原型工具不同,當(dāng)確定原型工具后,Python并不需要重寫,系統(tǒng)中不要求執(zhí)行效率的部分可以保持不變,從而使維護(hù)和使用變得輕松起來
(不了解,全抄了)
數(shù)值計算和科學(xué)計算編程
Python也被大量應(yīng)用于素質(zhì)編程,逐漸成長為Python最具有競爭力的使用案例。最著名的Numpy,其他一些數(shù)值計算工具為Python提供了動畫,3D可視化,并行處理等功能的支持
(計算方面挺強(qiáng)的)
更多內(nèi)容:游戲、圖像、數(shù)據(jù)挖掘、機(jī)器人、Excel等
盡管有著和廣闊的實(shí)際應(yīng)用,這些特定領(lǐng)域當(dāng)中有許多在很大程度上都是Python組件集成角色的再次例證。(啥都能干,指著誰不一定)
Python有哪些技術(shù)上的優(yōu)先
(吹逼的關(guān)鍵到了)
面向?qū)ο螅╫op)和函數(shù)式
從根本上講,Python是一種面向?qū)ο蟮恼Z言。它的類型支持對臺,運(yùn)算符重載和多重繼承等高級概念,并且以Python特有的簡潔語法和類型為背景,OOP十分易于使用。
除了作為一種強(qiáng)大的代碼組織和重用手段外,Python的OOP本質(zhì)使他成為其他面向?qū)ο笙到y(tǒng)語言的理想腳本工具。
面向?qū)ο笾皇荘ython的一個選擇而已,Python既支持面向?qū)ο螅悶榛A(chǔ))也支持面向過程(語句為基礎(chǔ)),還內(nèi)置了函數(shù)式編程的支持。
免費(fèi)
不要錢的就是好東西,Python的使用和分發(fā)是完全免費(fèi)的,Python完全開放源代碼,提升了開發(fā)者的實(shí)例,Python的開發(fā)是由社區(qū)驅(qū)動的,是Internet大范圍的協(xié)同合作的努力,Python語言的改變必須遵循一套規(guī)范而有約束力的程序(稱作PEP流程),并且需要經(jīng)過規(guī)范的測試系統(tǒng)和BDFL進(jìn)行徹底檢查。使得Python相對于其他語言和系統(tǒng)可以保守的持續(xù)改進(jìn)(Python2.x到Python3.x除外)
可移植
Python的標(biāo)準(zhǔn)實(shí)現(xiàn)是由可移植的ANSIC編寫的,可以在目前是由主流平臺上編譯和運(yùn)行。
除了語言解釋器本身之外,Python發(fā)行時自帶的標(biāo)準(zhǔn)庫和模塊在實(shí)現(xiàn)上也都盡可能考慮跨平臺的移植性
功能強(qiáng)大
從語言特性上看,Python是一個混合體,它豐富的工具集使他介于傳統(tǒng)的腳本語言和系統(tǒng)語言之間。Python提供了所有腳本語言的簡單和易用性,并且具有那些在編譯語言中才能找到的高級軟件工程工具。
動態(tài)類型,Python在程序運(yùn)行過程中跟蹤對象的類型,不需要代碼中進(jìn)行復(fù)雜的類型和大小的聲明。Python中沒有類型或變量聲明這種做法
自動內(nèi)存管理。Python自動為對象分配空間,并且當(dāng)對象不再使用時將自動垃圾回收,在需要時自動擴(kuò)展或收縮
大型程序支持
為了能建立更大規(guī)模的系統(tǒng),Python包含了模塊、類和異常等工具。這些工具允許把系統(tǒng)組織為組件,使用面向?qū)ο笾赜貌⒍ㄖ拼a,并以一種優(yōu)雅的方式處理事件和錯誤,前面提到的python函數(shù)式編程工具提供了實(shí)現(xiàn)相同目標(biāo)的其他方法
內(nèi)置對象類型。Python提供了常用的數(shù)據(jù)結(jié)構(gòu)作為語言的基本組成部分,如列表,字典,字符串等。他們靈活且易于使用
內(nèi)置工具,為了對以上對象類型進(jìn)行處理,Python自帶了許多強(qiáng)大的標(biāo)準(zhǔn)操作,包括拼接,切片,排序,映射等
庫工具,為了完成更多特定的任務(wù),Python預(yù)置了許多編碼的工具,從正則表達(dá)式匹配到網(wǎng)絡(luò)都支持
第三方工具,用于Python是開源的,鼓勵開發(fā)者提供Python內(nèi)置工具之外的預(yù)編碼工具
除了這一系列的Python工具外,Python保持了相當(dāng)簡潔的語法和設(shè)計。綜合這一切得到的就是一個具有腳本語言所有可用性的強(qiáng)大編程工具(站著把錢掙了)
可混合
Python程序可以以多種方式輕易的與其他編程語言編寫的組件粘接在一起,這意味著可以根據(jù)需要給Python程序添加功能,或者在其他環(huán)境中使用Python
相對簡單易用
同其他語言(C/JAVA/C#相比,Python編程對于大多數(shù)用戶來就講出奇簡單,要運(yùn)行Python程序,你只需要簡單的鍵入Python程序并運(yùn)行就可以了,不需要其他語言(如C/C++)所必須的編譯和鏈接等中間步驟。Python可以立即執(zhí)行程序,這形成了一種交互式編程體驗和不同情況下快速調(diào)整的能力,往往在修改代碼后幾乎能立即看到程序改變后的效果
在實(shí)現(xiàn)相同功能時,Python程序比采用其他流行語言編寫的程序更為簡單、小巧、也更靈活
相對簡單易學(xué)
Python語言的核心相當(dāng)簡單易學(xué),但千萬不要指望但時間內(nèi)成為專家(忘掉市面上那些宣傳廣告吧)
當(dāng)然,掌握任何像今天Python這樣的充實(shí)主題都不是一件輕松事,在基礎(chǔ)夯實(shí)后還有特定領(lǐng)域的進(jìn)階,學(xué)無止境,或許我們都被Python的簡潔欺騙了,不然我也不必買書了。
Python和其他語言比較起來怎么樣
這一部分我不想抄書了,反正都是長處比短處,沒什么意義
如果不要求最頂尖的性能,Python天下第一?。?!

課后作業(yè):抄寫并背誦本章習(xí)題
1.人們選擇Python的6個主要原因是什么?
軟件質(zhì)量,開發(fā)者效率,程序可移植性,標(biāo)準(zhǔn)庫支持,組件集成和編碼樂趣,其中軟件質(zhì)量和開發(fā)者效率這兩條是人們選擇python的主要原因
2.請列舉如今正在使用Python的4個著名公司和組織的名稱
谷歌,工業(yè)魔光,CCP游戲,YouTube,豆瓣,知乎等。如今從事軟件開發(fā)的所有組織幾乎都以某種程度使用著Python,無論長期戰(zhàn)略產(chǎn)品開發(fā),抑或測試、系統(tǒng)管理這樣的短期策略任務(wù)都有Python的身影
3.出于什么樣的原因會讓你在應(yīng)用中不使用Python呢?
Python的主要缺點(diǎn)是它的性能,它不像C和C++這類常規(guī)的編譯語言運(yùn)行得這么快。另一方面,它對于絕大多數(shù)應(yīng)用已經(jīng)足夠快了,并且典型的Python代碼運(yùn)行起來速度接近C,因為在Python解釋器中調(diào)用鏈接C的代碼。如果速度要求很苛刻的話,應(yīng)用的數(shù)值處理部分可以采用編譯好的擴(kuò)展以滿足應(yīng)用要求。
4.你可以用Python做什么?
你幾乎可以在計算機(jī)上的任何方面使用Python,從網(wǎng)站和游戲開發(fā)到機(jī)器人和航天飛機(jī)控制
5.在Python中import this 的表述有什么含義?
在Python中運(yùn)行import this會觸發(fā)內(nèi)部的一個彩蛋,它將顯示Python語言層面之下的設(shè)計哲學(xué)。被譽(yù)為Python之禪。
6.為什么‘spam’出現(xiàn)在網(wǎng)上和書上的許多Python例子中出現(xiàn)?
‘spam’引用自Monty Python劇團(tuán)的一部著名的荒誕劇,劇中人們試圖在自助餐廳點(diǎn)餐,卻被歌頌火腿的維京人的合唱歌聲淹沒。對了,這也是Python腳本中的一個普通的變量名。
7.你最喜歡什么顏色?
藍(lán)色。不,黃色?。≒ython圖標(biāo)兩條蛇一藍(lán)一黃,我喜歡黃色)