python tab和空格混用_我的 Python 编码规范
python 文件的組成
為了便于描述,先上一個(gè) demo
#!/usr/bin/env python# -*- coding: utf-8 -*-"""通常這里是關(guān)于本文檔的說明(docstring),須以半角的句號(hào)、 問號(hào)或驚嘆號(hào)結(jié)尾!本行之前應(yīng)當(dāng)空一行,繼續(xù)完成關(guān)于本文檔的說明如果文檔說明可以在一行內(nèi)結(jié)束,結(jié)尾的三個(gè)雙引號(hào)不需要換行;否則,就要像下面這樣"""import os, timeimport datetimeimport mathimport numpy as npimport xlrd, xlwt, xlutilsimport youth_mongodbimport youth_curlBASE_PATH = r"d:YouthGit"LOG_FILE = u"運(yùn)行日志.txt"class GameRoom(object): """對(duì)局室""" def __init__(self, name, limit=100, **kwds): """構(gòu)造函數(shù)! name 對(duì)局室名字 limit 人數(shù)上限 kwds 參數(shù)字典 """ passdef craete_and_start(): """創(chuàng)建并啟動(dòng)對(duì)局室""" passif __name__ == '__main__': # 開啟游戲服務(wù) start()Linux 平臺(tái)上,一個(gè) python 源碼文件應(yīng)該以下部分組成。Windows 平臺(tái)上,可以省略第一項(xiàng)。
編碼格式聲明
通常,編碼格式聲明是必需的。如果 python 源碼文件沒有聲明編碼格式,python 解釋器會(huì)默認(rèn)使用 ASCII 編碼,一旦源碼文件包含非ASCII編碼的字符,python 解釋器就會(huì)報(bào)錯(cuò)。以 UTF-8 為例,以下兩種編碼格式聲明都是合乎規(guī)則的。
# -*- coding: utf-8 -*-# coding = utf-8我一直 UTF-8 編碼格式,喜歡使用第一種聲明方式。
Windows 平臺(tái)上,編碼格式聲明必須位于 python 文件的第一行。Linux 平臺(tái)上,編碼格式聲明通常位于 python 文件的第二行,第一行是 python 解釋器的路徑聲明。
縮進(jìn)
統(tǒng)一使用 4 個(gè)空格進(jìn)行縮進(jìn)。絕對(duì)不要用tab, 也不要tab和空格混用。對(duì)于行連接的情況,我一般使用4空格的懸掛式縮進(jìn)。例如:
var_dict = { 'name': 'xufive', 'mail': 'xufive@sdysit.com'}引號(hào)
- 自然語言使用雙引號(hào)
- 機(jī)器標(biāo)識(shí)使用單引號(hào)
- 正則表達(dá)式使用雙引號(hào)
- 文檔字符串 (docstring) 使用三個(gè)雙引號(hào)
注釋
(#)號(hào)后空一格,段落件用空行分開(同樣需要#號(hào)):
# 塊注釋 # 塊注釋 # # 塊注釋 # 塊注釋行內(nèi)注釋,至少使用兩個(gè)空格和語句分開:
age += 1 # 年齡增加一歲比較重要的注釋段, 使用多個(gè)等號(hào)隔開, 可以更加醒目, 突出重要性:
server= gogame(room, options) # ===================================== # 請(qǐng)勿在此處傾倒垃圾!!! # ===================================== if __name__ == '__main__': server.run()空行
- 編碼格式聲明、模塊導(dǎo)入、常量和全局變量聲明、頂級(jí)定義和執(zhí)行代碼之間空兩行
- 頂級(jí)定義之間空兩行,方法定義之間空一行
- 在函數(shù)或方法內(nèi)部,可以在必要的地方空一行以增強(qiáng)節(jié)奏感,但應(yīng)避免連續(xù)空行
空格
- 在二元運(yùn)算符兩邊各空一格,算術(shù)操作符兩邊的空格可靈活使用,但兩側(cè)務(wù)必要保持一致
- 不要在逗號(hào)、分號(hào)、冒號(hào)前面加空格,但應(yīng)該在它們后面加(除非在行尾)
- 函數(shù)的參數(shù)列表中,逗號(hào)之后要有空格
- 函數(shù)的參數(shù)列表中,默認(rèn)值等號(hào)兩邊不要添加空格
- 左括號(hào)之后,右括號(hào)之前不要加添加空格
- 參數(shù)列表, 索引或切片的左括號(hào)前不應(yīng)加空格
文檔字符串
文檔字符串是包、模塊、類或函數(shù)里的第一個(gè)語句。這些字符串可以通過對(duì)象的doc成員被自動(dòng)提取,并且被pydoc所用。文檔字符串的使用三重雙引號(hào)(""")。如果文檔字符串內(nèi)容不能在一行內(nèi)寫完,首行須以句號(hào)、 問號(hào)或驚嘆號(hào)結(jié)尾,接一空行,結(jié)束的三重雙引號(hào)必須獨(dú)占一行。
導(dǎo)入模塊
導(dǎo)入總應(yīng)該放在文件頂部,位于模塊注釋和文檔字符串之后,模塊全局變量和常量之前。導(dǎo)入應(yīng)該按照從最通用到最不通用的順序分組,分組之間空一行:
應(yīng)當(dāng)避免使用以下的導(dǎo)入方法:
from math import *命名規(guī)范
- 模塊盡量使用小寫命名,首字母保持小寫,盡量不要用下劃線
- 類名使用駝峰(CamelCase)命名風(fēng)格,首字母大寫,私有類可用一個(gè)下劃線開頭
- 函數(shù)名一律小寫,如有多個(gè)單詞,用下劃線隔開
- 私有函數(shù)可用一個(gè)下劃線開頭
- 變量名盡量小寫, 如有多個(gè)單詞,用下劃線隔開
- 常量采用全大寫,如有多個(gè)單詞,使用下劃線隔開
最后,小編想說:我是一名python開發(fā)工程師,整理了一套最新的python系統(tǒng)學(xué)習(xí)教程,想要這些資料的可以關(guān)注私信小編“01”即可,希望能對(duì)你有所幫助。
總結(jié)
以上是生活随笔為你收集整理的python tab和空格混用_我的 Python 编码规范的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 低压抽屉柜常见故障处理方法_低压配电设备
- 下一篇: python 读取geotiff_科学网