版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章概述1第1章概述11.1Python語言簡介Python是一門跨平臺、開源、免費的解釋型高級動態(tài)編程語言。Python支持命令式編程(Howtodo)、函數(shù)式編程(Whattodo),完全支持面向?qū)ο蟪绦蛟O(shè)計,擁有大量擴展庫。膠水語言:可以把多種不同語言編寫的程序融合到一起實現(xiàn)無縫拼接,更好地發(fā)揮不同語言和工具的優(yōu)勢,滿足不同應(yīng)用領(lǐng)域的需求。21.1Python語言簡介Python是一門跨平臺、開源1.1Python語言簡介問題解決:把列表中的所有數(shù)字都加5,得到新列表。(命令式編程)>>>x=list(range(10))>>>x[0,1,2,3,4,5,6,7,8,9]>>>y=[]>>>fornuminx:y.append(num+5)
>>>y[5,6,7,8,9,10,11,12,13,14]>>>[num+5fornuminx][5,6,7,8,9,10,11,12,13,14]3循環(huán),遍歷x中的每個元素列表方法,在尾部追加元素列表推導式創(chuàng)建列表空列表1.1Python語言簡介問題解決:把列表中的所有數(shù)字都1.1Python語言簡介問題解決:把列表中的所有數(shù)字都加5,得到新列表。(函數(shù)式編程)>>>x=list(range(10))>>>x[0,1,2,3,4,5,6,7,8,9]>>>defadd5(num):returnnum+5>>>list(map(add5,x))[5,6,7,8,9,10,11,12,13,14]>>>list(map(lambdanum:num+5,x))[5,6,7,8,9,10,11,12,13,14]4定義函數(shù),接收一個數(shù)字,加5后返回把函數(shù)add5映射到x中的每個元素lambda表達式,等價于函數(shù)add51.1Python語言簡介問題解決:把列表中的所有數(shù)字都1.2Python版本簡介Python目前存在2.x和3.x兩個系列的版本,互相之間不兼容。在選擇Python版本的時候,一定要先考慮清楚自己學習Python的目的是什么,打算做哪方面的開發(fā),該領(lǐng)域或方向有哪些擴展庫可用,這些擴展庫最高支持哪個版本的Python。這些問題全部確定以后,再最終確定選擇哪個版本。Python2.x系列最遲將于2020年全面放棄維護和更新。51.2Python版本簡介Python目前存在2.x和31.3Python開發(fā)環(huán)境安裝與配置6默認編程環(huán)境:IDLE其他常用開發(fā)環(huán)境:Eclipse+PyDevpyCharmwingIDEEricPythonWinAnaconda3(內(nèi)含Jupyter和Spyder):/downloadzwPython1.3Python開發(fā)環(huán)境安裝與配置6默認編程環(huán)境:ID1.3.1IDLE7命令提示符每次只能執(zhí)行一條語句1.3.1IDLE7命令提示符每次只能執(zhí)行一條語句1.3.1IDLE81.3.1IDLE81.3.2Anaconda391.3.2Anaconda391.3.2Anaconda3101.3.2Anaconda3101.4Python編程規(guī)范與代碼優(yōu)化建議(1)縮進類定義、函數(shù)定義、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、with塊,行尾的冒號表示縮進的開始。python程序是依靠代碼塊的縮進來體現(xiàn)代碼之間的邏輯關(guān)系的,縮進結(jié)束就表示一個代碼塊結(jié)束了。
同一個級別的代碼塊的縮進量必須相同。一般而言,以4個空格為基本縮進單位。111.4Python編程規(guī)范與代碼優(yōu)化建議(1)縮進111.4Python編程規(guī)范與代碼優(yōu)化建議(2)每個import語句只導入一個模塊,最好按標準庫、擴展庫、自定義庫的順序依次導入。121.4Python編程規(guī)范與代碼優(yōu)化建議(2)每個imp1.4Python編程規(guī)范與代碼優(yōu)化建議(3)最好在每個類、函數(shù)定義和一段完整的功能代碼之后增加一個空行,在運算符兩側(cè)各增加一個空格,逗號后面增加一個空格。131.4Python編程規(guī)范與代碼優(yōu)化建議(3)最好在每個1.4Python編程規(guī)范與代碼優(yōu)化建議(4)盡量不要寫過長的語句。如果語句過長,可以考慮拆分成多個短一些的語句,以保證代碼具有較好的可讀性。如果語句確實太長而超過屏幕寬度,最好使用續(xù)行符(linecontinuationcharacter)“\”,或者使用圓括號將多行代碼括起來表示是一條語句。141.4Python編程規(guī)范與代碼優(yōu)化建議(4)盡量不要寫1.4Python編程規(guī)范與代碼優(yōu)化建議(5)雖然Python運算符有明確的優(yōu)先級,但對于復雜的表達式建議在適當?shù)奈恢檬褂美ㄌ柺沟酶鞣N運算的隸屬關(guān)系和順序更加明確、清晰。151.4Python編程規(guī)范與代碼優(yōu)化建議(5)雖然Pyt1.4Python編程規(guī)范與代碼優(yōu)化建議(6)注釋以符號#開始,表示本行#之后的內(nèi)容為注釋。包含在一對三引號'''...'''或"""..."""之間且不屬于任何語句的內(nèi)容將被解釋器認為是注釋。161.4Python編程規(guī)范與代碼優(yōu)化建議(6)注釋161.5擴展庫安裝方法pip在線安裝(命令提示符環(huán)境,建議切換至Python安裝目錄中的scripts文件夾執(zhí)行)pip離線安裝:/~gohlke/pythonlibs/exe安裝,不是每個擴展庫都支持conda在線安裝如果機器上安裝了多個Python開發(fā)環(huán)境,那么在一個環(huán)境下安裝的擴展庫無法在另一個環(huán)境下使用,需要分別安裝。171.5擴展庫安裝方法pip在線安裝(命令提示符環(huán)境,建議1.5擴展庫安裝方法18pip命令示例說明pipdownloadSomePackage[==version]下載擴展庫的指定版本,不安裝pipfreeze[>requirements.txt]以requirements的格式列出已安裝模塊piplist列出當前已安裝的所有模塊pipinstallSomePackage[==version]在線安裝SomePackage模塊的指定版本pipinstallSomePackage.whl通過whl文件離線安裝擴展庫pipinstallpackage1package2...依次(在線)安裝package1、package2等擴展模塊pipinstall-rrequirements.txt安裝requirements.txt文件中指定的擴展庫pipinstall--upgradeSomePackage升級SomePackage模塊pipuninstallSomePackage[==version]卸載SomePackage模塊的指定版本把SomePackage替換為實際要安裝或卸載的擴展庫名/~gohlke/pythonlibs/下載時選擇合適版本,并且不要修改文件名1.5擴展庫安裝方法18pip命令示例說明pipdow1.6標準庫與擴展庫對象的導入與使用Python默認安裝僅包含基本或核心模塊,啟動時也僅加載了基本模塊,在需要時再顯式地導入和加載標準庫和第三方擴展庫(需正確安裝),這樣可以減小程序運行的壓力,并且具有很強的可擴展性。從“木桶原理”的角度來看,這樣的設(shè)計與安全配置時遵循的“最小權(quán)限”原則的思想是一致的,也有助于提高系統(tǒng)安全性。191.6標準庫與擴展庫對象的導入與使用Python默認安裝1.6.1import模塊名[as別名]>>>importmath#導入標準庫math>>>math.sin(0.5)#求0.5(單位是弧度)的正弦0.479425538604203>>>importrandom#導入標準庫random>>>n=random.random()#獲得[0,1)內(nèi)的隨機小數(shù)>>>n=random.randint(1,100)#獲得[1,100]區(qū)間上的隨機整數(shù)>>>n=random.randrange(1,100)#返回[1,100)區(qū)間中的隨機整數(shù)>>>importos.pathaspath#導入標準庫os.path,并設(shè)置別名為path>>>path.isfile(r'C:\windows\notepad.exe')True>>>importnumpyasnp#導入擴展庫numpy,并設(shè)置別名為np>>>a=np.array((1,2,3,4))#通過模塊的別名來訪問其中的對象>>>aarray([1,2,3,4])>>>print(a)[1234]201.6.1import模塊名[as別名]>>>i1.6.2from模塊名import對象名[as別名]>>>frommathimportsin#只導入模塊中的指定對象,訪問速度略快>>>sin(3)0.1411200080598672>>>frommathimportsinasf#給導入的對象起個別名>>>f(3)0.1411200080598672>>>fromos.pathimportisfile>>>isfile(r'C:\windows\notepad.exe')True211.6.2from模塊名import對象名[as1.6.3from模塊名import*>>>frommathimport*#導入標準庫math中所有對象>>>sin(3)#求正弦值0.1411200080598672>>>gcd(36,18)#最大公約數(shù)18>>>pi#常數(shù)π3.141592653589793>>>e#常數(shù)e2.718281828459045>>>log2(8)#計算以2為底的對數(shù)值3.0>>>log10(100)#計算以10為底的對數(shù)值2.0>>>radians(180)#把角度轉(zhuǎn)換為弧度3.141592653589793221.6.3from模塊名import*>>>fr1.7Python程序的__name__屬性通過Python程序的__name__屬性可以識別程序的使用方式:如果作為模塊被導入,則其__name__屬性的值被自動設(shè)置為模塊名;如果作為程序直接運行,則其__name__屬性值被自動設(shè)置為字符串”__main__”。231.7Python程序的__name__屬性通過Pyth第1章概述24第1章概述11.1Python語言簡介Python是一門跨平臺、開源、免費的解釋型高級動態(tài)編程語言。Python支持命令式編程(Howtodo)、函數(shù)式編程(Whattodo),完全支持面向?qū)ο蟪绦蛟O(shè)計,擁有大量擴展庫。膠水語言:可以把多種不同語言編寫的程序融合到一起實現(xiàn)無縫拼接,更好地發(fā)揮不同語言和工具的優(yōu)勢,滿足不同應(yīng)用領(lǐng)域的需求。251.1Python語言簡介Python是一門跨平臺、開源1.1Python語言簡介問題解決:把列表中的所有數(shù)字都加5,得到新列表。(命令式編程)>>>x=list(range(10))>>>x[0,1,2,3,4,5,6,7,8,9]>>>y=[]>>>fornuminx:y.append(num+5)
>>>y[5,6,7,8,9,10,11,12,13,14]>>>[num+5fornuminx][5,6,7,8,9,10,11,12,13,14]26循環(huán),遍歷x中的每個元素列表方法,在尾部追加元素列表推導式創(chuàng)建列表空列表1.1Python語言簡介問題解決:把列表中的所有數(shù)字都1.1Python語言簡介問題解決:把列表中的所有數(shù)字都加5,得到新列表。(函數(shù)式編程)>>>x=list(range(10))>>>x[0,1,2,3,4,5,6,7,8,9]>>>defadd5(num):returnnum+5>>>list(map(add5,x))[5,6,7,8,9,10,11,12,13,14]>>>list(map(lambdanum:num+5,x))[5,6,7,8,9,10,11,12,13,14]27定義函數(shù),接收一個數(shù)字,加5后返回把函數(shù)add5映射到x中的每個元素lambda表達式,等價于函數(shù)add51.1Python語言簡介問題解決:把列表中的所有數(shù)字都1.2Python版本簡介Python目前存在2.x和3.x兩個系列的版本,互相之間不兼容。在選擇Python版本的時候,一定要先考慮清楚自己學習Python的目的是什么,打算做哪方面的開發(fā),該領(lǐng)域或方向有哪些擴展庫可用,這些擴展庫最高支持哪個版本的Python。這些問題全部確定以后,再最終確定選擇哪個版本。Python2.x系列最遲將于2020年全面放棄維護和更新。281.2Python版本簡介Python目前存在2.x和31.3Python開發(fā)環(huán)境安裝與配置29默認編程環(huán)境:IDLE其他常用開發(fā)環(huán)境:Eclipse+PyDevpyCharmwingIDEEricPythonWinAnaconda3(內(nèi)含Jupyter和Spyder):/downloadzwPython1.3Python開發(fā)環(huán)境安裝與配置6默認編程環(huán)境:ID1.3.1IDLE30命令提示符每次只能執(zhí)行一條語句1.3.1IDLE7命令提示符每次只能執(zhí)行一條語句1.3.1IDLE311.3.1IDLE81.3.2Anaconda3321.3.2Anaconda391.3.2Anaconda3331.3.2Anaconda3101.4Python編程規(guī)范與代碼優(yōu)化建議(1)縮進類定義、函數(shù)定義、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、with塊,行尾的冒號表示縮進的開始。python程序是依靠代碼塊的縮進來體現(xiàn)代碼之間的邏輯關(guān)系的,縮進結(jié)束就表示一個代碼塊結(jié)束了。
同一個級別的代碼塊的縮進量必須相同。一般而言,以4個空格為基本縮進單位。341.4Python編程規(guī)范與代碼優(yōu)化建議(1)縮進111.4Python編程規(guī)范與代碼優(yōu)化建議(2)每個import語句只導入一個模塊,最好按標準庫、擴展庫、自定義庫的順序依次導入。351.4Python編程規(guī)范與代碼優(yōu)化建議(2)每個imp1.4Python編程規(guī)范與代碼優(yōu)化建議(3)最好在每個類、函數(shù)定義和一段完整的功能代碼之后增加一個空行,在運算符兩側(cè)各增加一個空格,逗號后面增加一個空格。361.4Python編程規(guī)范與代碼優(yōu)化建議(3)最好在每個1.4Python編程規(guī)范與代碼優(yōu)化建議(4)盡量不要寫過長的語句。如果語句過長,可以考慮拆分成多個短一些的語句,以保證代碼具有較好的可讀性。如果語句確實太長而超過屏幕寬度,最好使用續(xù)行符(linecontinuationcharacter)“\”,或者使用圓括號將多行代碼括起來表示是一條語句。371.4Python編程規(guī)范與代碼優(yōu)化建議(4)盡量不要寫1.4Python編程規(guī)范與代碼優(yōu)化建議(5)雖然Python運算符有明確的優(yōu)先級,但對于復雜的表達式建議在適當?shù)奈恢檬褂美ㄌ柺沟酶鞣N運算的隸屬關(guān)系和順序更加明確、清晰。381.4Python編程規(guī)范與代碼優(yōu)化建議(5)雖然Pyt1.4Python編程規(guī)范與代碼優(yōu)化建議(6)注釋以符號#開始,表示本行#之后的內(nèi)容為注釋。包含在一對三引號'''...'''或"""..."""之間且不屬于任何語句的內(nèi)容將被解釋器認為是注釋。391.4Python編程規(guī)范與代碼優(yōu)化建議(6)注釋161.5擴展庫安裝方法pip在線安裝(命令提示符環(huán)境,建議切換至Python安裝目錄中的scripts文件夾執(zhí)行)pip離線安裝:/~gohlke/pythonlibs/exe安裝,不是每個擴展庫都支持conda在線安裝如果機器上安裝了多個Python開發(fā)環(huán)境,那么在一個環(huán)境下安裝的擴展庫無法在另一個環(huán)境下使用,需要分別安裝。401.5擴展庫安裝方法pip在線安裝(命令提示符環(huán)境,建議1.5擴展庫安裝方法41pip命令示例說明pipdownloadSomePackage[==version]下載擴展庫的指定版本,不安裝pipfreeze[>requirements.txt]以requirements的格式列出已安裝模塊piplist列出當前已安裝的所有模塊pipinstallSomePackage[==version]在線安裝SomePackage模塊的指定版本pipinstallSomePackage.whl通過whl文件離線安裝擴展庫pipinstallpackage1package2...依次(在線)安裝package1、package2等擴展模塊pipinstall-rrequirements.txt安裝requirements.txt文件中指定的擴展庫pipinstall--upgradeSomePackage升級SomePackage模塊pipuninstallSomePackage[==version]卸載SomePackage模塊的指定版本把SomePackage替換為實際要安裝或卸載的擴展庫名/~gohlke/pythonlibs/下載時選擇合適版本,并且不要修改文件名1.5擴展庫安裝方法18pip命令示例說明pipdow1.6標準庫與擴展庫對象的導入與使用Python默認安裝僅包含基本或核心模塊,啟動時也僅加載了基本模塊,在需要時再顯式地導入和加載標準庫和第三方擴展庫(需正確安裝),這樣可以減小程序運行的壓力,并且具有很強的可擴展性。從“木桶原理”的角度來看,這樣的設(shè)計與安全配置時遵循的“最小權(quán)限”原則的思想是一致的,也有助于提高系統(tǒng)安全性。421.6標準庫與擴展庫對象的導入與使用Python默認安裝1.6.1import模塊名[as別名]>>>importmath#導入標準庫math>>>math.sin(0.5)#求0.5(單位是弧度)的正弦0.479425538604203>>>importrandom#導入標準庫random>>>n=random.random()#獲得[0,1)內(nèi)的隨機小數(shù)>>>n=random.randint(1,100)#獲得[1,100]區(qū)間上的隨機整數(shù)>>>n=random.randrange(1,100)#返回[1,100)區(qū)間中的隨機整數(shù)>>>importos.pathaspath#導入標準庫os.path,并設(shè)置別名為path>>>path.isfile(r'C:\windows\notepad.exe')True>>>importnumpyasnp#導入擴展庫numpy,并設(shè)置別名為np>>>a=np.array((1,2,3,4))#通過模塊的別名來訪問其中的對象>>>a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年專用建筑工具租賃合同
- 2024年建筑工程施工物資合同
- 2024年商業(yè)店鋪聯(lián)合租賃合同
- 2024年度加工承攬合同承攬工作內(nèi)容及要求
- 【初中生物】脊椎動物-鳥和哺乳動物課件-2024-2025學年人教版(2024)生物七年級上冊
- 2024年定制版:物流運輸居間協(xié)議
- 2024年在線教育平臺建設(shè)及內(nèi)容提供合同
- 2024國際貨運代理服務(wù)合同及附加條款
- 2024年廢棄物處理與回收合同處理方法與環(huán)保標準
- 2024年北京市出租車指標承包經(jīng)營協(xié)議
- 2024年度一級注冊消防工程師考試復習題庫及答案(共1000題)
- 人教八年級上冊英語第六單元《Section A (1a-2d)》教學課件
- 吉林市基準地價(2009年)
- 市政道路管道吊裝施工方案(共7頁)
- 破產(chǎn)管理人報酬計算器
- Q_JLY J7110281D-2016 乘用車內(nèi)外飾塑料件通用技術(shù)要求
- 樹木移植工程技術(shù)交底
- 南非電力市場投資前景預測報告(目錄)
- 閉水試驗自動計算公式及說明
- 室外球墨鑄鐵管施工方案
- 通用技術(shù)學考300題
評論
0/150
提交評論