Python中的編碼規格有哪些
編碼規範
Python 編碼規範重要性的原因用一句話來概括就是:統一的編碼規範可以提高開發效率。
ps.python的程式碼寫基本上都要遵循PEP8的風格
#1、分號
不要在行尾加分號, 也不要用分號將兩條指令放在同一行。
2、命名
module_name, package_name, ClassName, method_name
應該避免的名稱
單字元名稱, 除了計數器和迭代器.
包/模組名稱中的連字號(-)
雙底線開頭並結尾的名稱(Python保留, 例如__init__)
命名約定
所謂"內部(Internal)"表示僅模組內可用, 或, 在類別內是保護或私有的.
用單下劃線(_)開頭表示模組變數或函數是protected的(使用import * from時不會包含)
用雙底線(__)開頭的實例變數或方法表示類別內私有.
將相關的類別和頂層函數放在同一個模組裡. 不像Java, 沒必要限制一個類別一個模組.
#對類別名稱使用大寫字母開頭的單字(如CapWords, 即Pascal風格),但是模組名應該用小寫加下劃線的方式(如lower_with_under.py). 儘管已經有很多現存的模組使用類似於CapWords.py這樣的命名, 但現在已經不鼓勵這樣做, 因為如果模組名碰巧和類名一致, 這會讓人困擾.
3、行長度
每行不超過80個字元
以下情況除外:
長的導入模組語句註解裡的URL
#不要使用反斜線連接行。
Python會將 圓括號, 中括號和花括號中的行隱式的連結起來 , 你可以利用這個特點. 如果需要, 你可以在表達式外圍增加一對額外的圓括號。
推薦:
foo_bar(self, width, height, color='black', design=None, x='foo', emphasis=None, highlight=0) if (width == 0 and height == 0 and color == 'red' and emphasis == 'strong'):
如果一個文字字串在一行放不下, 可以使用圓括號來實現隱式行連接:
x = ('这是一个非常长非常长非常长非常长 ' '非常长非常长非常长非常长非常长非常长的字符串')
4、縮排
#用4個空格來縮排碼
絕對不要用tab, 也不要tab和空格混用. 對於行連接的情況, 你應該要么垂直對齊換行的元素(見:ref:`行長度
# 与起始变量对齐 foo = long_function_name(var_one, var_two, var_three, var_four) # 字典中与起始值对齐 foo = { long_dictionary_key: value1 + value2, ... }
5、空白行
#頂層定義之間空兩行, 方法定義之間空一行
頂級定義之間空兩行, 例如函數或類別定義.方法定義, 類別定義與第一個方法之間, 都應該空一行. 函數或方法中, 某些地方要是你覺得合適, 就空一行.
6、空格
按照標準的排版規範來使用標點兩邊的空格
#括號內不要有空格.
依照標準的排版規範來使用標點兩邊的空格
正确示范: spam(ham[1], {eggs: 2}, [])
错误示范: spam( ham[ 1 ], { eggs: 2 }, [ ] )
7、類別
類別應該在其定義下有一個用於描述該類別的文檔字串. 如果你的類別有公共屬性(Attributes), 那麼文檔中應該有一個屬性(Attributes)段. 並且應該遵守和函數參數相同的格式.
class SampleClass(object): """Summary of class here. Longer class information.... Longer class information.... Attributes: likes_spam: A boolean indicating if we like SPAM or not. eggs: An integer count of the eggs we have laid. """ def __init__(self, likes_spam=False): """Inits SampleClass with blah.""" self.likes_spam = likes_spam self.eggs = 0 def public_method(self): """Performs operation blah."""
8、區塊註解和行註解
最需要寫註解的是程式碼中那些技巧性的部分. 如果你在下次 程式碼審查 的時候必須解釋一下, 那麼你應該現在就給它寫註釋. 對於複雜的操作, 應該在其操作開始前寫上若干行註釋. 對於不是一目了然的代碼, 應在其行尾添加註釋.
# We use a weighted dictionary search to find out where i is in # the array. We extrapolate position based on the largest num # in the array and the array size and then do binary search to # get the exact number. if i & (i-1) == 0: # true iff i is a power of 2
為了提高可讀性, 註解應該至少離開程式碼2個空格.
另一方面, 絕對不要描述程式碼. 假設閱讀程式碼的人比你更懂Python, 他只是不知道你的程式碼要做什麼.
# BAD COMMENT: Now go through the b array and make sure whenever i occurs # the next element is i+1
9、字串
正确示范: x = a + b x = '%s, %s!' % (imperative, expletive) x = '{}, {}!'.format(imperative, expletive) x = 'name: %s; score: %d' % (name, n) x = 'name: {}; score: {}'.format(name, n)
错误示范: x = '%s%s' % (a, b) # use + in this case x = '{}{}'.format(a, b) # use + in this case x = imperative + ', ' + expletive + '!' x = 'name: ' + name + '; score: ' + str(n)
10、導包
每個導入應該獨佔一行
正确示范: import os import sys
错误示范: import os, sys
導入總是應該放在檔案頂部, 位於模組註釋和文檔字串之後, 模組全域變數和常數之前. 導入應該按照從最通用到最不通用的順序分組:
標準庫導入第三方庫導入應用程式指定導入
【總結】
1.命名
#函數、變數及屬性都應該用小寫單字拼寫,只見用_連接,不遵循駝峰命名法
類別與異常應該是首字母大寫,不要用_連接
受保護的實例屬性,應以單底線開頭
實例的私有屬性,應以雙底線開頭
模組層級的變數單字都要大寫,中間以單下劃線隔開
變數要盡可能有意義
2.空白
- ##和語法相關的每一層縮排都用4個空格表示
- 賦值時等號兩邊都要有一個空格
- 每一行所佔用的字元數應不超過79,實際操作應盡量不讓程式碼編輯器的行捲軸顯示出來
在使用函數進行函數式程式設計時,函數之間要空兩行
在類別中的函數,函數之間應該空一行
函數與類別是同一個級別,則他們之間應該空兩行
對於超出每行規定的字元數的長表達式,應當敲回車縮進,通常除了首行其餘各行都要在原來的基礎上再次縮進4個空格
3.語句
- ##判斷變數是否為None、False或True時不要用==,要用is,例如,if a is None
- import語句要放在句首,導入時要盡量使用絕對導入不要使用相對導入,並且導入時最好指定相應的模組的某一具體功能,例如,from datetime import datetime
- 模組導入時應根據標準庫模組、第三方模組以及自用模組進行分類
- 檢測容器不為空時,應使用if 容器名,例如,lists = [] if lists
- #採用內聯形式的否定詞,不要把否定詞放在整個表達式的前面,例如,應該if a is not None 而不是if not a is None
- 對某些重要的程式碼區塊的功能說明,應使用單行註解
- 對整個模組功能的說明應使用多行註解
- 對類別或函數的功能及使用方法的詳細說明應使用文檔字串
- python的註解盡量使用英文
以上是Python中的編碼規格有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。
