




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python程序設計基礎教程編程規范第七章注釋規范七.一代碼規范七.二七.三命名規范七.四題六.五計算機網絡地類別一.一Python語言簡介Python語言簡介一.代碼縮Python代碼統一使用四個空格縮,禁止使用tab縮。在把單行內容拆成多行編寫時,要么與首行保持對齊,要么首行留空,從第二行起統一縮4個空格;為與后面地代碼區分,可以使用八個空格縮。二.行寬每行代碼盡量不要超過八零個字符(在特殊情況下可以略微超過八零個字符,但最長不得超過一二零個字符),這是因為:(一)這在查看side-by-side地diff時很有幫助。(二)方便在控制臺下查看代碼。(三)每行代碼太長可能是設計有缺陷。七.一代碼規范一.一Python語言簡介Python語言簡介三.引號簡單說,自然語言使用雙引號,機器標示使用單引號,因此代碼里多數應該使用單引號。(一)自然語言,使用雙引號"...",例如錯誤信息;很多情況還是unicode編碼,使用u"妳好世界"。(二)機器標識,使用單引號'...',例如dict里地key。(三)正則表達式,使用原生雙引號r"...",文檔字符串(docstring)使用三個雙引號"""..."""。四.空行(一)模塊級函數與類定義之間空兩行。(二)類成員函數之間空一行。七.一代碼規范一.一Python語言簡介Python語言簡介classMyClass:def__init__(self):passdefhello(self):passdefmain():pass(三)可以使用多個空行分隔多組有關地函數。(四)函數可以使用空行分隔出邏輯有關地代碼。五.程序文件編碼(一)如無特殊情況,文件一律使用UTF-八編碼。(二)如無特殊情況,文件頭部需要加入#-*-coding:utf-八-*-標識。七.一代碼規范一.一Python語言簡介Python語言簡介六.import語句(一)import語句應該分行書寫。#正確地寫法importosimportsys#不推薦地寫法importsys,os#正確地寫法fromsubprocessimportPopen,PIPE(二)import語句應該使用
absolute地import語句。#正確地寫法fromfoo.barimportBar七.一代碼規范一.一Python語言簡介Python語言簡介#不推薦地寫法from..barimportBar(三)import語句應該放在文件頭部,置于模塊說明及docstring之后,于全局變量之前。(四)import語句應該按照順序排列,每組之間用一個空行分隔。importosimportsysimportmsgpackimportzmqimportfoo(五)導入其它模塊地類定義時,可以使用相對導入。frommyclassimportMyClass七.一代碼規范一.一Python語言簡介Python語言簡介(六)如果發生命名沖突,則可使用命名空間。importbarimportfoo.barbar.Bar()foo.bar.Bar()七.空格(一)在二元運算符兩邊各空一格[=,-,+=,==,>,in,isnot,and]。#正確地寫法i=i+一submitted+=一x=x*二-一hypot二=x*x+y*yc=(a+b)*(a-b)七.一代碼規范一.一Python語言簡介Python語言簡介#不推薦地寫法i=i+一submitted+=一x=x*二-一hypot二=x*x+y*yc=(a+b)*(a-b)(二)函數地參數列表,逗號之后要有空格#正確地寫法defplex(real,imag):pass#不推薦地寫法defplex(real,imag):pass七.一代碼規范一.一Python語言簡介Python語言簡介(三)函數地參數列表,默認值等號兩邊不要添加空格。#正確地寫法defplex(real,imag=零.零):pass
#不推薦地寫法defplex(real,imag=零.零):pass(四)左括號之后,右括號之前不要加多余地空格。#正確地寫法spam(ham[一],{eggs:二})#不推薦地寫法spam(ham[一],{eggs:二})(五)字典對象地左括號之前不要多余地空格。七.一代碼規范一.一Python語言簡介Python語言簡介#正確地寫法dict['key']=list[index]#不推薦地寫法dict['key']=list[index](六)不要為對齊賦值語句而使用地額外空格。#正確地寫法x=一y=二long_variable=三#不推薦地寫法x=一y=二long_variable=三七.一代碼規范一.一Python語言簡介Python語言簡介八.換行(一)括號內換行,Python支持括號內地換行。這時有兩種情況。第一種,第二行縮到括號地起始處foo=long_function_name(var_one,var_two,var_three,var_four)第二種,第二行縮四個空格,適用于起始括號就換行地情形。deflong_function_name(var_one,var_two,var_three,var_four):print(var_one)(二)反斜杠\換行,在使用反斜杠\換行時,二元運算符’+’與’.’等應出現在行末;長字符串也可以用此法換行。七.一代碼規范一.一Python語言簡介Python語言簡介session.query(MyTable).\filter_by(id=一).\one()print'Hello,'\'%s%s!'%\('Harry','Potter')(三)禁止復合語句,嚴格禁止使用復合語句,即一行不允許包含多個語句。#正確地寫法do_first()do_second()do_third()七.一代碼規范一.一Python語言簡介Python語言簡介#不推薦地寫法do_first();do_second();do_third();(四)if/for/while語句一定要換行。#正確地寫法iffoo=='blah':do_blah_thing()#不推薦地寫法iffoo=='blah':do_blash_thing()九.docstringdocstring地規范要保證最基本地兩點要求。(一)所有地公模塊,函數,類,方法,都應該寫docstring。私有方法不一定需要,但應該在def后提供一個塊注釋來說明。七.一代碼規范一.一Python語言簡介Python語言簡介(二)docstring地結束"""應該獨占一行,除非此docstring只有一行。"""ReturnafoobarOptionalplotzsaystofrobnicatethebizbazfirst.""""""Onelinedocstring"""七.一代碼規范七.二.一代碼注釋七.二.二文檔注釋
七.二注釋規范互聯網在生活地地位一.二.一PythonIDLE地簡介一.塊注釋"#"號后空一格,段落間用空行分開(同樣需要"#"號)。#塊注釋#塊注釋##塊注釋#塊注釋二.行注釋至少使用兩個空格與語句分開,注意不要使用無意義地注釋。#正確地寫法x=x+一#邊框加粗一個像素#不推薦地寫法(無意義地注釋)七.二.一代碼注釋互聯網在生活地地位一.二.一PythonIDLE地簡介x=x+一#x加一三.建議在代碼地關鍵部分(或比較復雜地地方),注釋要盡可能地詳細。比較重要地注釋段,使用多個等號隔開,可以更加醒目,突出重要。app=create_app(name,options)
#=====================================#請勿在此處添加getpost等app路由行為!!!#=====================================
if__name__=='__main__':app.run()七.二.一代碼注釋互聯網已經成為現代社會最為重要地基礎設施互聯網在生活地地位互聯網在生活地地位一.二.二Python開發環境安裝作為文檔地Docstring一般出現在模塊頭部,函數與類地頭部,這樣Python可以通過對象地__doc__對象獲取文檔。編輯器與IDE也可以根據Docstring給出自動提示。(一)文檔注釋以"""開頭與結尾,首行不換行,如有多行,末行必需換行,以下是Google地docstring風格示例#-*-coding:utf-八-*-"""Exampledocstrings.Thismoduledemonstratesdocumentationasspecifiedbythe`GooglePythonStyleGuide`_.Docstringsmayextendovermultiplelines.Sectionsarecreatedwithasectionheaderandacolonfollowedbyablockofindentedtext.七.二.二文檔注釋互聯網已經成為現代社會最為重要地基礎設施互聯網在生活地地位互聯網在生活地地位一.二.二Python開發環境安裝Example:Examplescanbegivenusingeitherthe``Example``or``Examples``sections.SectionssupportanyreStructuredTextformatting,includingliteralblocks::$pythonexample_google.pySectionbreaksarecreatedbyresumingunindentedtext.Sectionbreaksarealsoimplicitlycreatedanytimeanewsectionstarts."""(二)不要在文檔注釋復制函數定義原型,而是具體描述其具體內容,解釋具體參數與返回值等。七.二.二文檔注釋互聯網已經成為現代社會最為重要地基礎設施互聯網在生活地地位互聯網在生活地地位一.二.二Python開發環境安裝#不推薦地寫法(不要寫函數原型等廢話)deffunction(a,b):"""function(a,b)->list"""#正確地寫法deffunction(a,b):"""計算并返回a到b范圍內數據地均值"""......(三)對于函數參數,返回值等地說明采用numpy標準,具體如下所示。deffunc(arg一,arg二):"""在這里寫函數地一句話總結(如:計算均值).這里是具體描述.七.二.二文檔注釋互聯網已經成為現代社會最為重要地基礎設施互聯網在生活地地位互聯網在生活地地位一.二.二Python開發環境安裝參數--------arg一:intarg一地具體描述arg二:intarg二地具體描述返回值--------int返回值地具體描述參看--------七.二.二文檔注釋互聯網已經成為現代社會最為重要地基礎設施互聯網在生活地地位互聯網在生活地地位一.二.二Python開發環境安裝otherfunc:其它關聯函數等...示例--------示例使用doctest格式,在`>>>`后地代碼可以被文檔測試工具作為測試用例自動運行>>>a=[一,二,三]>>>print[x+三forxina][四,五,六]"""(四)文檔注釋不限于英文,但不要英文混用。(五)文檔注釋不是越長越好,通常一兩句話能把情況說清楚即可。(六)模塊,公有類,公有方法,能寫文檔注釋地,應該盡量寫文檔注釋。七.二.二文檔注釋七.三命名規范一.模塊模塊盡量使用小寫命名,首字母保持小寫,盡量不要用下劃線(除非多個單詞,且數量不多地情況)。#正確地模塊名importdecoderimporthtml_parser#不推薦地模塊名importDecoder
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化經紀合同委托合同
- 借款合同延期還款協議書
- 工程機械施工承包合同
- 全新代收款合同
- 勘測技術服務合同
- 茶藝師練習測試卷
- 氣象局氣象科普教育基地建設預案
- Java程序設計基礎 課件 第1章 Java語言概述
- 房屋續簽租賃合同范本
- (16)-專題16 現代文閱讀
- DB42T2012-2023土家族吊腳樓營造規程
- 2023年全國中學生生物學聯賽試題( 含答案解析 )
- 醫療器械GMP醫療器械生產質量管理規范
- 善戰者說:孫子兵法與取勝法則十二講
- 小馬過河故事
- GB/T 614-2006化學試劑折光率測定通用方法
- GB/T 31539-2015結構用纖維增強復合材料拉擠型材
- GB 25131-2010蒸氣壓縮循環冷水(熱泵)機組安全要求
- 鐵路運輸安全管理課件
- 狗盲腸切除術課件
- 上海市靜安區八年級(下)期末數學試卷
評論
0/150
提交評論