_name:
class 中的成員變數的變數名稱前有一底線,代表預計標示為是class內部用(非強制性)
module內定義的方法名稱前有一底線,代表不公開,需使用FQN可使用
也可改寫__all__()表示出外界使用
還有如果直接讓module於python的shell執行也會顯示使用
name_:變數名稱後有一底線,只是為解決關鍵字衝突
_ _name:
class 中的成員變數的變數名稱前有二底線,代表會在前加上一底線及一class名稱改寫,呈現給外部使用
但class內部使用依舊使用無改寫原名稱
反向植入成員變數,如命名規則一底線及一class名稱再加二底線的變數名,例"_ClassName_ _VarName"
後來出現這Class名稱的class定義,雖內部無此變數,但會自動加入
_ConfuseClass__confuseVar1=45
class ConfuseClass:
def testFun(self):
return __confuseVar1
ConfuseClass().testFun()
_ _name_ _:
代表python內class的特殊成員(不好的用法)如__init__()
_ :在python command shell 中代表最後一個物件,可能是一個值或list等
2020年10月16日 星期五
Python令人混淆的底線命名
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言