




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python程序設計
主講人:張華
Python面世1989年,GuidovanRossum在阿姆斯特丹完成,第一個公開版發行于1991年。Guido為了打發圣誕節的無趣,決心開發一個新的腳本解釋程序,做為ABC語言的一種繼承使用Python作為語言的名字,因為是英國幽默劇團:"MontyPython飛行馬戲團"的fansABC是由Guido參加設計的一種教學語言非常優美和強大,是專門為非專業程序員設計的Python面世目前Guido在Google,主要從事GAE/Python3.x方面的研究創始人:吉多·范羅蘇姆
GuidovanRossumPython面世Python2.0于2000年10月16日發布,主要是實現了完整的垃圾回收,并且支持Unicode。Python3.0于2008年12月3日發布,此版不完全兼容之前的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優美勝于丑陋(Python以編寫優美的代碼為目標)明了勝于晦澀(優美的代碼應當是明了的,命名規范,風格相似)簡潔勝于復雜(優美的代碼應當是簡潔的,不要有復雜的內部實現)復雜勝于凌亂(如果復雜不可避免,那代碼間也不能有難懂的關系,要保持接口簡潔)扁平勝于嵌套(優美的代碼應當是扁平的,不能有太多的嵌套)間隔勝于緊湊(優美的代碼有適當的間隔,不要奢望一行代碼解決問題)可讀性很重要(優美的代碼是可讀的)即便假借特例的實用性之名,也不可違背這些規則(這些規則至高無上)不要包容所有錯誤,除非你確定需要這樣做(精準地捕獲異常,不寫except:pass風格的代碼)當存在多種可能,不要嘗試去猜測而是盡量找一種,最好是唯一一種明顯的解決方案(如果不確定,就用窮舉法)雖然這并不容易,因為你不是Python之父(這里的Dutch是指Guido)做也許好過不做,但不假思索就動手還不如不做(動手之前要細思量)如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然(方案測評標準)命名空間是一種絕妙的理念,我們應當多加利用(倡導與號召)Python的特色容易上手提供交互式環境語法簡潔高級數據結構簡潔地表達復雜的操作語句組織依賴于縮進參數或變量不需要聲明火力強大易學但不簡單,從桌面程序,到網絡互聯,圖形處理,科學計算,實時控制,到處都有Python的身影跨平臺的(Windows,Unix,Macantoshi)面向對象Python的特色快速開發Python內建的高層次數據結構,以及動態類型和動態邦定,非常適合于快速應用開發Python語法強調可讀性,降低了程序的維護費用Python支持模塊和包,并鼓勵程序模塊化和代碼重用。高效運行Python可以編譯執行,其運行效率接近C語言的運行速度,相同功能的代碼運行速度約為C的90%,而同時Java的運行速度卻只能達到C的50%。Python的特色豐富的庫Python標準庫已經很龐大。可幫你處理各種工作:正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。Python開源、免費,在“百花齊放”式地發展中,已經產生大量的高質量庫,如wxPython、Twisted、Pygame、matplotlib、scipy等等Python的特色可擴展、可嵌入如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能解釋性python程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。使得Python程序更加易于移植。Python解釋器Python是一門跨平臺的腳本語言,Python規定了一個Python語法規則,實現Python語法的解釋程序就成為Python的解釋器
CPython(ClassicPython,最原始python的實現,需要區別于其他實現的時候才以CPython稱呼;或用C語言實現的的python)Jython(Java語言實現的Python)Ironpython(面向.NET和ECMACLI的Python實現)PyPy(使用Python語言寫的Python)Zhpy(支持繁/簡中文語句編寫程序的Python語言)誰在用python?典型幾個國外公司誰在用python?典型幾個國內公司誰在用python?豆瓣新浪SAE(SinaAppEngine)開始支持python了搜狐郵箱基于web.py游戲公司開發環境IDLE:Python內置IDE(隨python安裝包提供)PyCharm:由著名的JetBrains公司開發,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用于支持Django框架下的專業Web開發,推薦!Ulipad:功能較全的自由軟件,基于wxPython;作者是中國Python高手limodou,推薦!開發環境Eclipse+pydev–收費的Eric:基于PyQt的自由軟件,功能強大。全名是:TheEricPythonIDEPyScripter:使用Delphi開發的輕量級的開源PythonIDE其它編輯器UltraEdit,notepad++,editplus…Python安裝官網/下載核心python-2.7.6.msi推薦!python-3.3.5.msi常用第三方庫下載Pythonpackageindex(pypi):
/pypinumpy、scipy科學計算matplotlib二維、三維畫圖pygame游戲開發wxpython圖形用戶界面開發djangoweb開發scikit-learn數據挖掘交互式shell如何運行程序編寫源文件Python源文件是以.py為后綴的文本文件可以用任何編輯文本的軟件進行編寫,如記事本,UltraEdit,EditPlus等也可以使用專業的python開發環境編寫,如IDLE,ulipad,pycharm等運行源文件如編寫名為“hi.py”的python源文件,內容為“print“helloworld!””直接在編輯器(開發環境)中執行命令行形式:pythonhi.py語法入門知識變量使用前不用類型聲明在使用過程中類型可以變化標識符命名規則:必須有字母(大小寫)、數字、下劃線組成,但首字符必須是字母或下劃線
例如,_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語言中的花括號{}(有點霸道!但對養成良好的編程習慣有很大幫助,程序結構變得很清晰),因此行首的空白是有意義的用“#”開始的行作為注釋#test.pyusingpythona=1ifa==1: printa/*test.cusingC*/#include<stdio.h>voidmain(){inta;a=1;if(a==1) printf(“%d”,a);}語法入門知識強悍的數據結構之列表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]語法入門知識強悍的數據結構之字符串用單引號或雙引號括起來的一組字符‘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語法入門知識循環結構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語法入門知識函數def語句定義調用def
函數名(形式參數表): 函數體函數名(實際參數表)語法入門知識函數分類有參函數無參函數有返回值函數無返回值函數什么都不做的函數python語法的幾個顯著特征變量類型動態、無需聲明、隨時定義行首縮進表示語句塊沒有指針,數據結構功能強大沒有switch選擇語句,沒有do***while循環結構函數隨時隨地可以定義,定義中形參無需類型聲明,任何類型數據都可以成為參數,返回值類型無需聲明,函數返回值可以是一個整數、一個字符串、一個列表自學python恭喜,你已經學會了python;接下去,你完全可以自學成pythoner啄木鳥社區
/簡明python教程
/abyteofpython_cn/chinese/DiveIntoPython中文版/diveintopython/toc/index.htmlElias的python學習資料/Python/HomePagePython
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級信息技術上冊 第十二課 我做小玩具教學設計 華中師大版
- 七年級生物上冊 第一單元 第1章 第1節 生物的特征教學設計 (新版)新人教版
- 人教版六年級音樂下冊 第四單元唱歌《愛我中華》教學設計
- 婦幼保健院醫療保健技術培訓
- 七年級地理下冊 第四章 第二節 土地資源與農業教學設計 中圖版
- 冀教版(2024)七年級上冊(2024)5.3 解一元一次方程教學設計
- 七年級數學下冊 第六章 實數6.2 立方根教學設計 (新版)新人教版
- 人教2011課標版地理七年級下:6.2 亞洲的自然環境 教學設計
- 人教版 (新課標)七年級下冊第四單元 生物圈中的人第一章 人的由來第一節 人的起源和發展教案配套
- 初中政治思品人教部編版七年級上冊(道德與法治)享受學習教案設計
- 2024人防工程設計指南醫療救護工程分冊
- 2024年海洋知識競賽題庫及答案(共70題)
- 應急管理數據標準化與共享
- 風險控制崗位招聘筆試題與參考答案(某大型國企)2024年
- 藥劑科考勤管理制度
- 學徒簽約合同協議書
- 山東省濟南市等2地2023-2024學年高一下學期5月期中物理試題(解析版)
- 07SG111-2 建筑結構加固施工圖設計深度圖樣
- 最簡單高空作業安全免責協議書
- 大棚建設承包合同范本一
- 醫療設備采購投標方案技術標
評論
0/150
提交評論