版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Python程序設(shè)計(jì)基礎(chǔ)教程編程規(guī)范第七章注釋規(guī)范七.一代碼規(guī)范七.二七.三命名規(guī)范七.四題六.五計(jì)算機(jī)網(wǎng)絡(luò)地類別一.一Python語言簡介Python語言簡介一.代碼縮Python代碼統(tǒng)一使用四個(gè)空格縮,禁止使用tab縮。在把單行內(nèi)容拆成多行編寫時(shí),要么與首行保持對(duì)齊,要么首行留空,從第二行起統(tǒng)一縮4個(gè)空格;為與后面地代碼區(qū)分,可以使用八個(gè)空格縮。二.行寬每行代碼盡量不要超過八零個(gè)字符(在特殊情況下可以略微超過八零個(gè)字符,但最長不得超過一二零個(gè)字符),這是因?yàn)?(一)這在查看side-by-side地diff時(shí)很有幫助。(二)方便在控制臺(tái)下查看代碼。(三)每行代碼太長可能是設(shè)計(jì)有缺陷。七.一代碼規(guī)范一.一Python語言簡介Python語言簡介三.引號(hào)簡單說,自然語言使用雙引號(hào),機(jī)器標(biāo)示使用單引號(hào),因此代碼里多數(shù)應(yīng)該使用單引號(hào)。(一)自然語言,使用雙引號(hào)"...",例如錯(cuò)誤信息;很多情況還是unicode編碼,使用u"妳好世界"。(二)機(jī)器標(biāo)識(shí),使用單引號(hào)'...',例如dict里地key。(三)正則表達(dá)式,使用原生雙引號(hào)r"...",文檔字符串(docstring)使用三個(gè)雙引號(hào)"""..."""。四.空行(一)模塊級(jí)函數(shù)與類定義之間空兩行。(二)類成員函數(shù)之間空一行。七.一代碼規(guī)范一.一Python語言簡介Python語言簡介classMyClass:def__init__(self):passdefhello(self):passdefmain():pass(三)可以使用多個(gè)空行分隔多組有關(guān)地函數(shù)。(四)函數(shù)可以使用空行分隔出邏輯有關(guān)地代碼。五.程序文件編碼(一)如無特殊情況,文件一律使用UTF-八編碼。(二)如無特殊情況,文件頭部需要加入#-*-coding:utf-八-*-標(biāo)識(shí)。七.一代碼規(guī)范一.一Python語言簡介Python語言簡介六.import語句(一)import語句應(yīng)該分行書寫。#正確地寫法importosimportsys#不推薦地寫法importsys,os#正確地寫法fromsubprocessimportPopen,PIPE(二)import語句應(yīng)該使用
absolute地import語句。#正確地寫法fromfoo.barimportBar七.一代碼規(guī)范一.一Python語言簡介Python語言簡介#不推薦地寫法from..barimportBar(三)import語句應(yīng)該放在文件頭部,置于模塊說明及docstring之后,于全局變量之前。(四)import語句應(yīng)該按照順序排列,每組之間用一個(gè)空行分隔。importosimportsysimportmsgpackimportzmqimportfoo(五)導(dǎo)入其它模塊地類定義時(shí),可以使用相對(duì)導(dǎo)入。frommyclassimportMyClass七.一代碼規(guī)范一.一Python語言簡介Python語言簡介(六)如果發(fā)生命名沖突,則可使用命名空間。importbarimportfoo.barbar.Bar()foo.bar.Bar()七.空格(一)在二元運(yùn)算符兩邊各空一格[=,-,+=,==,>,in,isnot,and]。#正確地寫法i=i+一submitted+=一x=x*二-一hypot二=x*x+y*yc=(a+b)*(a-b)七.一代碼規(guī)范一.一Python語言簡介Python語言簡介#不推薦地寫法i=i+一submitted+=一x=x*二-一hypot二=x*x+y*yc=(a+b)*(a-b)(二)函數(shù)地參數(shù)列表,逗號(hào)之后要有空格#正確地寫法defplex(real,imag):pass#不推薦地寫法defplex(real,imag):pass七.一代碼規(guī)范一.一Python語言簡介Python語言簡介(三)函數(shù)地參數(shù)列表,默認(rèn)值等號(hào)兩邊不要添加空格。#正確地寫法defplex(real,imag=零.零):pass
#不推薦地寫法defplex(real,imag=零.零):pass(四)左括號(hào)之后,右括號(hào)之前不要加多余地空格。#正確地寫法spam(ham[一],{eggs:二})#不推薦地寫法spam(ham[一],{eggs:二})(五)字典對(duì)象地左括號(hào)之前不要多余地空格。七.一代碼規(guī)范一.一Python語言簡介Python語言簡介#正確地寫法dict['key']=list[index]#不推薦地寫法dict['key']=list[index](六)不要為對(duì)齊賦值語句而使用地額外空格。#正確地寫法x=一y=二long_variable=三#不推薦地寫法x=一y=二long_variable=三七.一代碼規(guī)范一.一Python語言簡介Python語言簡介八.換行(一)括號(hào)內(nèi)換行,Python支持括號(hào)內(nèi)地?fù)Q行。這時(shí)有兩種情況。第一種,第二行縮到括號(hào)地起始處foo=long_function_name(var_one,var_two,var_three,var_four)第二種,第二行縮四個(gè)空格,適用于起始括號(hào)就換行地情形。deflong_function_name(var_one,var_two,var_three,var_four):print(var_one)(二)反斜杠\換行,在使用反斜杠\換行時(shí),二元運(yùn)算符’+’與’.’等應(yīng)出現(xiàn)在行末;長字符串也可以用此法換行。七.一代碼規(guī)范一.一Python語言簡介Python語言簡介session.query(MyTable).\filter_by(id=一).\one()print'Hello,'\'%s%s!'%\('Harry','Potter')(三)禁止復(fù)合語句,嚴(yán)格禁止使用復(fù)合語句,即一行不允許包含多個(gè)語句。#正確地寫法do_first()do_second()do_third()七.一代碼規(guī)范一.一Python語言簡介Python語言簡介#不推薦地寫法do_first();do_second();do_third();(四)if/for/while語句一定要換行。#正確地寫法iffoo=='blah':do_blah_thing()#不推薦地寫法iffoo=='blah':do_blash_thing()九.docstringdocstring地規(guī)范要保證最基本地兩點(diǎn)要求。(一)所有地公模塊,函數(shù),類,方法,都應(yīng)該寫docstring。私有方法不一定需要,但應(yīng)該在def后提供一個(gè)塊注釋來說明。七.一代碼規(guī)范一.一Python語言簡介Python語言簡介(二)docstring地結(jié)束"""應(yīng)該獨(dú)占一行,除非此docstring只有一行。"""ReturnafoobarOptionalplotzsaystofrobnicatethebizbazfirst.""""""Onelinedocstring"""七.一代碼規(guī)范七.二.一代碼注釋七.二.二文檔注釋
七.二注釋規(guī)范互聯(lián)網(wǎng)在生活地地位一.二.一PythonIDLE地簡介一.塊注釋"#"號(hào)后空一格,段落間用空行分開(同樣需要"#"號(hào))。#塊注釋#塊注釋##塊注釋#塊注釋二.行注釋至少使用兩個(gè)空格與語句分開,注意不要使用無意義地注釋。#正確地寫法x=x+一#邊框加粗一個(gè)像素#不推薦地寫法(無意義地注釋)七.二.一代碼注釋互聯(lián)網(wǎng)在生活地地位一.二.一PythonIDLE地簡介x=x+一#x加一三.建議在代碼地關(guān)鍵部分(或比較復(fù)雜地地方),注釋要盡可能地詳細(xì)。比較重要地注釋段,使用多個(gè)等號(hào)隔開,可以更加醒目,突出重要。app=create_app(name,options)
#=====================================#請勿在此處添加getpost等app路由行為!!!#=====================================
if__name__=='__main__':app.run()七.二.一代碼注釋互聯(lián)網(wǎng)已經(jīng)成為現(xiàn)代社會(huì)最為重要地基礎(chǔ)設(shè)施互聯(lián)網(wǎng)在生活地地位互聯(lián)網(wǎng)在生活地地位一.二.二Python開發(fā)環(huán)境安裝作為文檔地Docstring一般出現(xiàn)在模塊頭部,函數(shù)與類地頭部,這樣Python可以通過對(duì)象地__doc__對(duì)象獲取文檔。編輯器與IDE也可以根據(jù)Docstring給出自動(dòng)提示。(一)文檔注釋以"""開頭與結(jié)尾,首行不換行,如有多行,末行必需換行,以下是Google地docstring風(fēng)格示例#-*-coding:utf-八-*-"""Exampledocstrings.Thismoduledemonstratesdocumentationasspecifiedbythe`GooglePythonStyleGuide`_.Docstringsmayextendovermultiplelines.Sectionsarecreatedwithasectionheaderandacolonfollowedbyablockofindentedtext.七.二.二文檔注釋互聯(lián)網(wǎng)已經(jīng)成為現(xiàn)代社會(huì)最為重要地基礎(chǔ)設(shè)施互聯(lián)網(wǎng)在生活地地位互聯(lián)網(wǎng)在生活地地位一.二.二Python開發(fā)環(huán)境安裝Example:Examplescanbegivenusingeitherthe``Example``or``Examples``sections.SectionssupportanyreStructuredTextformatting,includingliteralblocks::$pythonexample_google.pySectionbreaksarecreatedbyresumingunindentedtext.Sectionbreaksarealsoimplicitlycreatedanytimeanewsectionstarts."""(二)不要在文檔注釋復(fù)制函數(shù)定義原型,而是具體描述其具體內(nèi)容,解釋具體參數(shù)與返回值等。七.二.二文檔注釋互聯(lián)網(wǎng)已經(jīng)成為現(xiàn)代社會(huì)最為重要地基礎(chǔ)設(shè)施互聯(lián)網(wǎng)在生活地地位互聯(lián)網(wǎng)在生活地地位一.二.二Python開發(fā)環(huán)境安裝#不推薦地寫法(不要寫函數(shù)原型等廢話)deffunction(a,b):"""function(a,b)->list"""#正確地寫法deffunction(a,b):"""計(jì)算并返回a到b范圍內(nèi)數(shù)據(jù)地均值"""......(三)對(duì)于函數(shù)參數(shù),返回值等地說明采用numpy標(biāo)準(zhǔn),具體如下所示。deffunc(arg一,arg二):"""在這里寫函數(shù)地一句話總結(jié)(如:計(jì)算均值).這里是具體描述.七.二.二文檔注釋互聯(lián)網(wǎng)已經(jīng)成為現(xiàn)代社會(huì)最為重要地基礎(chǔ)設(shè)施互聯(lián)網(wǎng)在生活地地位互聯(lián)網(wǎng)在生活地地位一.二.二Python開發(fā)環(huán)境安裝參數(shù)--------arg一:intarg一地具體描述arg二:intarg二地具體描述返回值--------int返回值地具體描述參看--------七.二.二文檔注釋互聯(lián)網(wǎng)已經(jīng)成為現(xiàn)代社會(huì)最為重要地基礎(chǔ)設(shè)施互聯(lián)網(wǎng)在生活地地位互聯(lián)網(wǎng)在生活地地位一.二.二Python開發(fā)環(huán)境安裝otherfunc:其它關(guān)聯(lián)函數(shù)等...示例--------示例使用doctest格式,在`>>>`后地代碼可以被文檔測試工具作為測試用例自動(dòng)運(yùn)行>>>a=[一,二,三]>>>print[x+三forxina][四,五,六]"""(四)文檔注釋不限于英文,但不要英文混用。(五)文檔注釋不是越長越好,通常一兩句話能把情況說清楚即可。(六)模塊,公有類,公有方法,能寫文檔注釋地,應(yīng)該盡量寫文檔注釋。七.二.二文檔注釋七.三命名規(guī)范一.模塊模塊盡量使用小寫命名,首字母保持小寫,盡量不要用下劃線(除非多個(gè)單詞,且數(shù)量不多地情況)。#正確地模塊名importdecoderimporthtml_parser#不推薦地模塊名importDecoder
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安裝合同匯編3篇
- 擺脫缺陷責(zé)任書3篇
- 教育培訓(xùn)課程委托3篇
- 文明進(jìn)步承諾3篇
- 工程小修施工協(xié)議3篇
- 教育機(jī)構(gòu)培訓(xùn)師雇傭合同范本3篇
- 工傷保險(xiǎn)授權(quán)委托書范本3篇
- 商業(yè)綜合體幕墻改造合同
- 西安市精裝房買賣合同樣本
- 獵頭合作協(xié)議書范例
- 2024-2025年第一學(xué)期小學(xué)德育工作總結(jié):點(diǎn)亮德育燈塔引領(lǐng)小學(xué)生全面成長的逐夢之旅
- 2024年執(zhí)業(yè)藥師繼續(xù)教育專業(yè)答案
- 北京市西城區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 《Spark大數(shù)據(jù)處理》課程教學(xué)大綱
- 高處作業(yè)吊籃安裝驗(yàn)收表(范本模板)
- 臨時(shí)操作平臺(tái)施工方案(33頁)
- 創(chuàng)造性思維與創(chuàng)新方法ppt課件
- 導(dǎo)光管采光施工工法
- 山東昌樂二中“271高效課堂”解讀
- Y-△降壓啟動(dòng)控制線路ppt課件
- 急危重患者的手術(shù)護(hù)理.ppt
評(píng)論
0/150
提交評(píng)論