2 回答

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
讓我們檢查一下 pylint 對(duì)類變量名稱的看法??紤]以下代碼示例:
# top-level constants for comparison
lowercase_var = 0
UPPERCASE_VAR = 1
CamelCaseVar = 2
def func():
# function local variables
lowercase_var2 = 0
UPPERCASE_VAR2 = 1
CamelCaseVar2 = 2
class ClassName:
# class variables
lowercase_var3 = 0
UPPERCASE_VAR3 = 1
CamelCaseVar3 = 2
pylint 的輸出:
D:\tmp>pylint test.py
************* Module test
test.py:1:0: C0103: Constant name "lowercase_var" doesn't conform to UPPER_CASE naming style (invalid-name)
test.py:3:0: C0103: Constant name "CamelCaseVar" doesn't conform to UPPER_CASE naming style (invalid-name)
test.py:8:4: C0103: Variable name "UPPERCASE_VAR2" doesn't conform to snake_case naming style (invalid-name)
test.py:9:4: C0103: Variable name "CamelCaseVar2" doesn't conform to snake_case naming style (invalid-name)
test.py:7:4: W0612: Unused variable 'lowercase_var2' (unused-variable)
test.py:8:4: W0612: Unused variable 'UPPERCASE_VAR2' (unused-variable)
test.py:9:4: W0612: Unused variable 'CamelCaseVar2' (unused-variable)
test.py:12:0: R0903: Too few public methods (0/2) (too-few-public-methods)
------------------------------------------------------------------
Your code has been rated at 2.73/10 (previous run: 1.82/10, +0.91)
觀察:
沒(méi)有關(guān)于三個(gè)類變量名稱中的任何一個(gè)的警告。這三個(gè)都是完全有效的。
大寫(xiě)名稱通常用于頂級(jí)常量??梢詫?duì)類變量使用大寫(xiě)命名約定,使它們看起來(lái)像一個(gè)常量值。如果您正在修改變量
DB.NUM_CONNECTIONS += 1
,最好選擇另一種命名樣式。snake_case 命名風(fēng)格用于函數(shù)局部變量名和函數(shù)名,CamelCase 僅用于類名。類變量是一個(gè)變量,它不是一個(gè)類(而是屬于一個(gè)類)。所以看起來(lái)最好選擇snake_case。
最后兩個(gè)意見(jiàn)是固執(zhí)己見(jiàn)的,您可以不同意并做出自己的選擇。好消息:您可以從三個(gè)選項(xiàng)中選擇任何一個(gè)。

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
您應(yīng)該遵循 PEP8,但通常根據(jù)我的經(jīng)驗(yàn),公司/個(gè)人開(kāi)發(fā)人員要么堅(jiān)持使用駝峰式或蛇式,以進(jìn)行打字約定。
Camel case 是一種類型書(shū)寫(xiě),它將變量名的第二個(gè)單詞大寫(xiě),即:myPhoneBook,而不是蛇形大小寫(xiě),它使用下劃線分隔變量名中的單詞,即:my_phone_book
找到一個(gè)適合你的,并堅(jiān)持下去是個(gè)好主意。
全部大寫(xiě)的變量名通常是為環(huán)境變量保留的。
除此之外,不要使用關(guān)鍵字作為變量名。很多時(shí)候,人們會(huì)使用“l(fā)ist”作為變量名,這是非常危險(xiǎn)的,因?yàn)椤發(fā)ist”是Python原生提供的關(guān)鍵字。使用關(guān)鍵字作為變量意味著您正在有效地替換該關(guān)鍵字。
添加回答
舉報(bào)