




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Python程序設(shè)計
主講人:張華
Python面世1989年,GuidovanRossum在阿姆斯特丹完成,第一個公開版發(fā)行于1991年。Guido為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋程序,做為ABC語言的一種繼承使用Python作為語言的名字,因為是英國幽默劇團(tuán):"MontyPython飛行馬戲團(tuán)"的fansABC是由Guido參加設(shè)計的一種教學(xué)語言非常優(yōu)美和強(qiáng)大,是專門為非專業(yè)程序員設(shè)計的Python面世目前Guido在Google,主要從事GAE/Python3.x方面的研究創(chuàng)始人:吉多·范羅蘇姆
GuidovanRossumPython面世Python2.0于2000年10月16日發(fā)布,主要是實現(xiàn)了完整的垃圾回收,并且支持Unicode。Python3.0于2008年12月3日發(fā)布,此版不完全兼容之前的Python源代碼。目前使用最廣泛的版本是2.7,最新的版本是3.3.5(2014.3.13)Python哲學(xué)Python哲學(xué)用過Python的人,基本上都知道在交互式解釋器中輸入importthis就會顯示TimPeters的TheZenofPython(蟒之禪)。TheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitisbetterthanimplicit.Simpleisbetterthancomplex.Complexisbetterthancomplicated.Flatisbetterthannested.Sparseisbetterthandense.Readabilitycounts.Specialcasesaren'tspecialenoughtobreaktherules.Althoughpracticalitybeatspurity.Errorsshouldneverpasssilently.Unlessexplicitlysilenced.Inthefaceofambiguity,refusethetemptationtoguess.Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.Althoughthatwaymaynotbeobviousatfirstunlessyou'reDutch.Nowisbetterthannever.Althoughneverisoftenbetterthan*right*now.Iftheimplementationishardtoexplain,it'sabadidea.Iftheimplementationiseasytoexplain,itmaybeagoodidea.Namespacesareonehonkinggreatidea--let'sdomoreofthose!翻譯與解釋Python之禪byTimPeters優(yōu)美勝于丑陋(Python以編寫優(yōu)美的代碼為目標(biāo))明了勝于晦澀(優(yōu)美的代碼應(yīng)當(dāng)是明了的,命名規(guī)范,風(fēng)格相似)簡潔勝于復(fù)雜(優(yōu)美的代碼應(yīng)當(dāng)是簡潔的,不要有復(fù)雜的內(nèi)部實現(xiàn))復(fù)雜勝于凌亂(如果復(fù)雜不可避免,那代碼間也不能有難懂的關(guān)系,要保持接口簡潔)扁平勝于嵌套(優(yōu)美的代碼應(yīng)當(dāng)是扁平的,不能有太多的嵌套)間隔勝于緊湊(優(yōu)美的代碼有適當(dāng)?shù)拈g隔,不要奢望一行代碼解決問題)可讀性很重要(優(yōu)美的代碼是可讀的)即便假借特例的實用性之名,也不可違背這些規(guī)則(這些規(guī)則至高無上)不要包容所有錯誤,除非你確定需要這樣做(精準(zhǔn)地捕獲異常,不寫except:pass風(fēng)格的代碼)當(dāng)存在多種可能,不要嘗試去猜測而是盡量找一種,最好是唯一一種明顯的解決方案(如果不確定,就用窮舉法)雖然這并不容易,因為你不是Python之父(這里的Dutch是指Guido)做也許好過不做,但不假思索就動手還不如不做(動手之前要細(xì)思量)如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然(方案測評標(biāo)準(zhǔn))命名空間是一種絕妙的理念,我們應(yīng)當(dāng)多加利用(倡導(dǎo)與號召)Python的特色容易上手提供交互式環(huán)境語法簡潔高級數(shù)據(jù)結(jié)構(gòu)簡潔地表達(dá)復(fù)雜的操作語句組織依賴于縮進(jìn)參數(shù)或變量不需要聲明火力強(qiáng)大易學(xué)但不簡單,從桌面程序,到網(wǎng)絡(luò)互聯(lián),圖形處理,科學(xué)計算,實時控制,到處都有Python的身影跨平臺的(Windows,Unix,Macantoshi)面向?qū)ο驪ython的特色快速開發(fā)Python內(nèi)建的高層次數(shù)據(jù)結(jié)構(gòu),以及動態(tài)類型和動態(tài)邦定,非常適合于快速應(yīng)用開發(fā)Python語法強(qiáng)調(diào)可讀性,降低了程序的維護(hù)費用Python支持模塊和包,并鼓勵程序模塊化和代碼重用。高效運行Python可以編譯執(zhí)行,其運行效率接近C語言的運行速度,相同功能的代碼運行速度約為C的90%,而同時Java的運行速度卻只能達(dá)到C的50%。Python的特色豐富的庫Python標(biāo)準(zhǔn)庫已經(jīng)很龐大。可幫你處理各種工作:正則表達(dá)式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。Python開源、免費,在“百花齊放”式地發(fā)展中,已經(jīng)產(chǎn)生大量的高質(zhì)量庫,如wxPython、Twisted、Pygame、matplotlib、scipy等等Python的特色可擴(kuò)展、可嵌入如果你需要你的一段關(guān)鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們??梢园裀ython嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能解釋性python程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運行程序。使得Python程序更加易于移植。Python解釋器Python是一門跨平臺的腳本語言,Python規(guī)定了一個Python語法規(guī)則,實現(xiàn)Python語法的解釋程序就成為Python的解釋器
CPython(ClassicPython,最原始python的實現(xiàn),需要區(qū)別于其他實現(xiàn)的時候才以CPython稱呼;或用C語言實現(xiàn)的的python)Jython(Java語言實現(xiàn)的Python)Ironpython(面向.NET和ECMACLI的Python實現(xiàn))PyPy(使用Python語言寫的Python)Zhpy(支持繁/簡中文語句編寫程序的Python語言)誰在用python?典型幾個國外公司誰在用python?典型幾個國內(nèi)公司誰在用python?豆瓣新浪SAE(SinaAppEngine)開始支持python了搜狐郵箱基于web.py游戲公司開發(fā)環(huán)境IDLE:Python內(nèi)置IDE(隨python安裝包提供)PyCharm:由著名的JetBrains公司開發(fā),帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,比如調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用于支持Django框架下的專業(yè)Web開發(fā),推薦!Ulipad:功能較全的自由軟件,基于wxPython;作者是中國Python高手limodou,推薦!開發(fā)環(huán)境Eclipse+pydev–收費的Eric:基于PyQt的自由軟件,功能強(qiáng)大。全名是:TheEricPythonIDEPyScripter:使用Delphi開發(fā)的輕量級的開源PythonIDE其它編輯器UltraEdit,notepad++,editplus…Python安裝官網(wǎng)/下載核心python-2.7.6.msi推薦!python-3.3.5.msi常用第三方庫下載Pythonpackageindex(pypi):
/pypinumpy、scipy科學(xué)計算matplotlib二維、三維畫圖pygame游戲開發(fā)wxpython圖形用戶界面開發(fā)djangoweb開發(fā)scikit-learn數(shù)據(jù)挖掘交互式shell如何運行程序編寫源文件Python源文件是以.py為后綴的文本文件可以用任何編輯文本的軟件進(jìn)行編寫,如記事本,UltraEdit,EditPlus等也可以使用專業(yè)的python開發(fā)環(huán)境編寫,如IDLE,ulipad,pycharm等運行源文件如編寫名為“hi.py”的python源文件,內(nèi)容為“print“helloworld!””直接在編輯器(開發(fā)環(huán)境)中執(zhí)行命令行形式:pythonhi.py語法入門知識變量使用前不用類型聲明在使用過程中類型可以變化標(biāo)識符命名規(guī)則:必須有字母(大小寫)、數(shù)字、下劃線組成,但首字符必須是字母或下劃線
例如,_abc,abc,abc_1為合法標(biāo)識符,而1_abc,abc$,@#!為不合法標(biāo)識符標(biāo)識符大小寫敏感
例如,Abc與abc不是一個標(biāo)識符標(biāo)識符不能為Python保留字
importmatha=1printaa=‘hello’printa+””+”world!”a=math.sqrt(10)printaPython保留字:and
elif
if
pass
else
import
asassert
except
in
raise
break
exec
is
return
class
finally
lambda
try
continue
for
while
nonlocal(in3.0)def
from
not
withdel
global
or
yield語法入門知識表達(dá)式2+3,1000000000000000000000+12+3*5,3**52/3,2/3.0,5//4.5“hello”+‘world’字符串“Hello”與‘Hello’等價‘hello’*3,‘hello’+‘hi’語法入門知識懶人的python:能少敲就少敲點句子一般不用分號結(jié)束縮進(jìn)代替C語言中的花括號{}(有點霸道!但對養(yǎng)成良好的編程習(xí)慣有很大幫助,程序結(jié)構(gòu)變得很清晰),因此行首的空白是有意義的用“#”開始的行作為注釋#test.pyusingpythona=1ifa==1: printa/*test.cusingC*/#include<stdio.h>voidmain(){inta;a=1;if(a==1) printf(“%d”,a);}語法入門知識強(qiáng)悍的數(shù)據(jù)結(jié)構(gòu)之列表list:最常用,靈活,功能強(qiáng)用中括號[]表示a=[1,2,3,4]a=[1,2,3.4,’a’,’hello’]a=[[1,2],[3,4]][1,2]+[3,4]+[‘a(chǎn)’,’b’]用下標(biāo)法引用一個元素若a=[1,2,3,4],與C語言相同,下標(biāo)從0開始,a[0]的值為1,a[3]為4,a[-1]為4用切片法引用子列若a=[1,2,3,4],那么a[0:2]為列表[1,2],a[1:-1]為列表[2,3]語法入門知識強(qiáng)悍的數(shù)據(jù)結(jié)構(gòu)之字符串用單引號或雙引號括起來的一組字符‘a(chǎn)’,“a”,’helo‘“a”+”hello”用下標(biāo)法獲取其中字符若a=“string”,a[0]為字符’s’,a[5]為字符’g’,a[-1]為字符’g’用切片法截取子串若a=“string”,a[0:3]為子串“str”,a[1:-1]為子串”trin”語法入門知識邏輯表達(dá)式
C語言&&||!Pythonandornot語法入門知識選擇語句if***:
******if***:
******
else:
******if***:
******
elif***:
******
else:
******a=1ifa==1: print“hello”elifa>1: print“hi”else: print“byebye”a=1ifa==1: print“hello”a=1ifa==1: print“hello”else: print“byebye”語法入門知識選擇語句條件表達(dá)式C語言版本:x=A?B:Cpython版本:x=BifAelseC語法入門知識循環(huán)結(jié)構(gòu)forxin***:
********while***:
********forxin[1,2,3]: printxn=5printrange(n)forxinrange(n): printxforxin[1,2,3]: foryin“abcd”: printy*xi=10whilei>=1: printi**2 i-=1語法入門知識函數(shù)def語句定義調(diào)用def
函數(shù)名(形式參數(shù)表): 函數(shù)體函數(shù)名(實際參數(shù)表)語法入門知識函數(shù)分類有參函數(shù)無參函數(shù)有返回值函數(shù)無返回值函數(shù)什么都不做的函數(shù)python語法的幾個顯著特征變量類型動態(tài)、無需聲明、隨時定義行首縮進(jìn)表示語句塊沒有指針,數(shù)據(jù)結(jié)構(gòu)功能強(qiáng)大沒有switch選擇語句,沒有do***while循環(huán)結(jié)構(gòu)函數(shù)隨時隨地可以定義,定義中形參無需類型聲明,任何類型數(shù)據(jù)都可以成為參數(shù),返回值類型無需聲明,函數(shù)返回值可以是一個整數(shù)、一個字符串、一個列表自學(xué)python恭喜,你已經(jīng)學(xué)會了python;接下去,你完全可以自學(xué)成pythoner啄木鳥社區(qū)
/簡明python教程
/abyteofpython_cn/chinese/DiveIntoPython中文版/diveintopython/toc/index.htmlElias的python學(xué)習(xí)資料/Python/HomePagePython
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 岸電箱施工方案
- 2025年山東省成考試題及答案
- 農(nóng)村泥巴墻施工方案
- 5年級下冊語文背誦
- 5年級上冊語文筆記第6單元第1課小練筆
- 等保測評服務(wù)人員配置方案
- 4年級上冊第5單元
- 嘉興古建基礎(chǔ)施工方案
- 大學(xué)語文同步練習(xí)12-垓下之圍 (1) - 副本 - 副本
- 2025年安徽衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)傾向性測試題庫參考答案
- 綜合門診部全科醫(yī)療科設(shè)置基本標(biāo)準(zhǔn)
- GB 15603-1995常用化學(xué)危險品貯存通則
- FZ/T 07019-2021針織印染面料單位產(chǎn)品能源消耗限額
- 北師大版高中英語必修二《New-Zealand-Fact-File》reading-課件-
- 豎彎鉤的書寫課件
- 幼兒園小班植樹節(jié)課件:《栽樹》
- 初中英語《Unit5-Do-you-remember-what-you-were-doing》教學(xué)課件設(shè)計
- 幼兒園大班數(shù)學(xué)口算練習(xí)題可打印
- 小學(xué)班會課件-端午節(jié)主題班會(共19張PPT)通用版 PPT課件
- 細(xì)菌性痢疾流行病學(xué)個案調(diào)查表
- 員工年終述職報告工作總結(jié)PPT模板
評論
0/150
提交評論