在Python中,成員的可見性指的是它們是否可以在類的外部被訪問或修改。Python中沒有像Java或C++中的public、private或protected這樣的關(guān)鍵字來限制訪問范圍。但是,Python中有命名規(guī)則和慣例來表示成員的可見性。
在Python中,以下劃線(_)開頭的成員被看作是私有成員,可以通過類的實(shí)例方法來訪問和修改,但是它們不能在類的外部被直接訪問或修改。
class MyClass: def __init__(self): self._private_member = 10 def set_private_member(self, value): self._private_member = value def get_private_member(self): return self._private_member obj = MyClass() print(obj.get_private_member()) # 輸出10 obj.set_private_member(20) print(obj.get_private_member()) # 輸出20 print(obj._private_member) # 這行代碼會報錯
在上面的代碼中,通過下劃線開頭的名字_private_member來表示它是一個私有成員。雖然我們可以通過set_private_member和get_private_member方法來訪問和修改私有成員,但是我們不能直接通過obj._private_member來訪問或修改私有成員,否則程序會拋出AttributeError異常。
另外,以下劃線開頭和結(jié)尾的成員被看作是特殊成員,一般用于內(nèi)置方法或特定的語義。不建議在代碼中使用這樣的名字。
總之,Python中沒有明確的成員可見性的語法,但是通過命名規(guī)則和慣例,我們可以用下劃線開頭的名字來表示私有成員。
上一篇html對鉤代碼