編碼規範
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中文網其他相關文章!

每天學習Python兩個小時是否足夠?這取決於你的目標和學習方法。 1)制定清晰的學習計劃,2)選擇合適的學習資源和方法,3)動手實踐和復習鞏固,可以在這段時間內逐步掌握Python的基本知識和高級功能。

Python在Web開發中的關鍵應用包括使用Django和Flask框架、API開發、數據分析與可視化、機器學習與AI、以及性能優化。 1.Django和Flask框架:Django適合快速開發複雜應用,Flask適用於小型或高度自定義項目。 2.API開發:使用Flask或DjangoRESTFramework構建RESTfulAPI。 3.數據分析與可視化:利用Python處理數據並通過Web界面展示。 4.機器學習與AI:Python用於構建智能Web應用。 5.性能優化:通過異步編程、緩存和代碼優

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

Python在現實世界中的應用包括數據分析、Web開發、人工智能和自動化。 1)在數據分析中,Python使用Pandas和Matplotlib處理和可視化數據。 2)Web開發中,Django和Flask框架簡化了Web應用的創建。 3)人工智能領域,TensorFlow和PyTorch用於構建和訓練模型。 4)自動化方面,Python腳本可用於復製文件等任務。

Python在數據科學、Web開發和自動化腳本領域廣泛應用。 1)在數據科學中,Python通過NumPy、Pandas等庫簡化數據處理和分析。 2)在Web開發中,Django和Flask框架使開發者能快速構建應用。 3)在自動化腳本中,Python的簡潔性和標準庫使其成為理想選擇。

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境