版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python程序設計
主講人:張華
Python面世1989年,GuidovanRossum在阿姆斯特丹完成,第一個公開版發(fā)行于1991年。Guido為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋程序,做為ABC語言的一種繼承使用Python作為語言的名字,因為是英國幽默劇團:"MontyPython飛行馬戲團"的fansABC是由Guido參加設計的一種教學語言非常優(yōu)美和強大,是專門為非專業(yè)程序員設計的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哲學Python哲學用過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)美的代碼為目標)明了勝于晦澀(優(yōu)美的代碼應當是明了的,命名規(guī)范,風格相似)簡潔勝于復雜(優(yōu)美的代碼應當是簡潔的,不要有復雜的內部實現(xiàn))復雜勝于凌亂(如果復雜不可避免,那代碼間也不能有難懂的關系,要保持接口簡潔)扁平勝于嵌套(優(yōu)美的代碼應當是扁平的,不能有太多的嵌套)間隔勝于緊湊(優(yōu)美的代碼有適當?shù)拈g隔,不要奢望一行代碼解決問題)可讀性很重要(優(yōu)美的代碼是可讀的)即便假借特例的實用性之名,也不可違背這些規(guī)則(這些規(guī)則至高無上)不要包容所有錯誤,除非你確定需要這樣做(精準地捕獲異常,不寫except:pass風格的代碼)當存在多種可能,不要嘗試去猜測而是盡量找一種,最好是唯一一種明顯的解決方案(如果不確定,就用窮舉法)雖然這并不容易,因為你不是Python之父(這里的Dutch是指Guido)做也許好過不做,但不假思索就動手還不如不做(動手之前要細思量)如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然(方案測評標準)命名空間是一種絕妙的理念,我們應當多加利用(倡導與號召)Python的特色容易上手提供交互式環(huán)境語法簡潔高級數(shù)據(jù)結構簡潔地表達復雜的操作語句組織依賴于縮進參數(shù)或變量不需要聲明火力強大易學但不簡單,從桌面程序,到網絡互聯(lián),圖形處理,科學計算,實時控制,到處都有Python的身影跨平臺的(Windows,Unix,Macantoshi)面向對象Python的特色快速開發(fā)Python內建的高層次數(shù)據(jù)結構,以及動態(tài)類型和動態(tài)邦定,非常適合于快速應用開發(fā)Python語法強調可讀性,降低了程序的維護費用Python支持模塊和包,并鼓勵程序模塊化和代碼重用。高效運行Python可以編譯執(zhí)行,其運行效率接近C語言的運行速度,相同功能的代碼運行速度約為C的90%,而同時Java的運行速度卻只能達到C的50%。Python的特色豐富的庫Python標準庫已經很龐大。可幫你處理各種工作:正則表達式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關的操作。Python開源、免費,在“百花齊放”式地發(fā)展中,已經產生大量的高質量庫,如wxPython、Twisted、Pygame、matplotlib、scipy等等Python的特色可擴展、可嵌入如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能解釋性python程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。使得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?典型幾個國內公司誰在用python?豆瓣新浪SAE(SinaAppEngine)開始支持python了搜狐郵箱基于web.py游戲公司開發(fā)環(huán)境IDLE:Python內置IDE(隨python安裝包提供)PyCharm:由著名的JetBrains公司開發(fā),帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用于支持Django框架下的專業(yè)Web開發(fā),推薦!Ulipad:功能較全的自由軟件,基于wxPython;作者是中國Python高手limodou,推薦!開發(fā)環(huán)境Eclipse+pydev–收費的Eric:基于PyQt的自由軟件,功能強大。全名是:TheEricPythonIDEPyScripter:使用Delphi開發(fā)的輕量級的開源PythonIDE其它編輯器UltraEdit,notepad++,editplus…Python安裝官網/下載核心python-2.7.6.msi推薦!python-3.3.5.msi常用第三方庫下載Pythonpackageindex(pypi):
/pypinumpy、scipy科學計算matplotlib二維、三維畫圖pygame游戲開發(fā)wxpython圖形用戶界面開發(fā)djangoweb開發(fā)scikit-learn數(shù)據(jù)挖掘交互式shell如何運行程序編寫源文件Python源文件是以.py為后綴的文本文件可以用任何編輯文本的軟件進行編寫,如記事本,UltraEdit,EditPlus等也可以使用專業(yè)的python開發(fā)環(huán)境編寫,如IDLE,ulipad,pycharm等運行源文件如編寫名為“hi.py”的python源文件,內容為“print“helloworld!””直接在編輯器(開發(fā)環(huán)境)中執(zhí)行命令行形式:pythonhi.py語法入門知識變量使用前不用類型聲明在使用過程中類型可以變化標識符命名規(guī)則:必須有字母(大小寫)、數(shù)字、下劃線組成,但首字符必須是字母或下劃線
例如,_abc,abc,abc_1為合法標識符,而1_abc,abc$,@#!為不合法標識符標識符大小寫敏感
例如,Abc與abc不是一個標識符標識符不能為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語法入門知識表達式2+3,1000000000000000000000+12+3*5,3**52/3,2/3.0,5//4.5“hello”+‘world’字符串“Hello”與‘Hello’等價‘hello’*3,‘hello’+‘hi’語法入門知識懶人的python:能少敲就少敲點句子一般不用分號結束縮進代替C語言中的花括號{}(有點霸道!但對養(yǎng)成良好的編程習慣有很大幫助,程序結構變得很清晰),因此行首的空白是有意義的用“#”開始的行作為注釋#test.pyusingpythona=1ifa==1: printa/*test.cusingC*/#include<stdio.h>voidmain(){inta;a=1;if(a==1) printf(“%d”,a);}語法入門知識強悍的數(shù)據(jù)結構之列表list:最常用,靈活,功能強用中括號[]表示a=[1,2,3,4]a=[1,2,3.4,’a’,’hello’]a=[[1,2],[3,4]][1,2]+[3,4]+[‘a’,’b’]用下標法引用一個元素若a=[1,2,3,4],與C語言相同,下標從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]語法入門知識強悍的數(shù)據(jù)結構之字符串用單引號或雙引號括起來的一組字符‘a’,“a”,’helo‘“a”+”hello”用下標法獲取其中字符若a=“string”,a[0]為字符’s’,a[5]為字符’g’,a[-1]為字符’g’用切片法截取子串若a=“string”,a[0:3]為子串“str”,a[1:-1]為子串”trin”語法入門知識邏輯表達式
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”語法入門知識選擇語句條件表達式C語言版本:x=A?B:Cpython版本:x=BifAelseC語法入門知識循環(huán)結構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語句定義調用def
函數(shù)名(形式參數(shù)表): 函數(shù)體函數(shù)名(實際參數(shù)表)語法入門知識函數(shù)分類有參函數(shù)無參函數(shù)有返回值函數(shù)無返回值函數(shù)什么都不做的函數(shù)python語法的幾個顯著特征變量類型動態(tài)、無需聲明、隨時定義行首縮進表示語句塊沒有指針,數(shù)據(jù)結構功能強大沒有switch選擇語句,沒有do***while循環(huán)結構函數(shù)隨時隨地可以定義,定義中形參無需類型聲明,任何類型數(shù)據(jù)都可以成為參數(shù),返回值類型無需聲明,函數(shù)返回值可以是一個整數(shù)、一個字符串、一個列表自學python恭喜,你已經學會了python;接下去,你完全可以自學成pythoner啄木鳥社區(qū)
/簡明python教程
/abyteofpython_cn/chinese/DiveIntoPython中文版/diveintopython/toc/index.htmlElias的python學習資料/Python/HomePagePython
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國郵政集團公司江蘇省常熟市分公司招聘快包投遞員高頻重點提升(共500題)附帶答案詳解
- 2025中國聯(lián)通福建省分公司招聘(414人+)高頻重點提升(共500題)附帶答案詳解
- 2025中國移動黑龍江公司校園招聘224人高頻重點提升(共500題)附帶答案詳解
- 2025中國電建(德國)限公司招聘1人高頻重點提升(共500題)附帶答案詳解
- 2025中國電信湖北潛江分公司招聘4人高頻重點提升(共500題)附帶答案詳解
- 2025下半年浙江麗水市青田縣招聘國企業(yè)工作人員擬聘用(三)閱讀模式高頻重點提升(共500題)附帶答案詳解
- 2025下半年廣西桂林市事業(yè)單位招聘應征入伍大學畢業(yè)生153人高頻重點提升(共500題)附帶答案詳解
- 2025下半年山東通匯資本投資集團限公司社會招聘7人高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川省江油市事業(yè)單位招聘95人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川南充市高坪區(qū)事業(yè)單位招聘47人高頻重點提升(共500題)附帶答案詳解
- 社區(qū)開展反詐工作方案
- 城市露營項目商業(yè)計劃書
- 建筑垃圾清運重點分析報告
- 11396-國家開放大學2023年春期末統(tǒng)一考試《藥事管理與法規(guī)(本)》答案
- NB-T 47013.7-2012(JB-T 4730.7) 4730.7 承壓設備無損檢測 第7部分:目視檢測
- 網絡安全與信息保密培訓
- 天津市四校2022-2023學年高二上學期期末聯(lián)考數(shù)學試題(原卷版)
- 2023年建筑工程管理經理年終總結及年后展望
- 小學數(shù)學問題解決能力的培養(yǎng)策略
- 京歌《故鄉(xiāng)是北京》的藝術特征及演唱分析
- 機動庫護士培訓課件
評論
0/150
提交評論