松坂砂糖 (@MatsuzakaSato) 在 Python仙术 第10期 Python类中的特殊方法名 中发帖
继魔术方法及运算符重载(其实也就是特殊的魔术方法)之后,我又学(瞎)习(碰)到了一些有意思的特殊方法名。这里也对Python类的特殊方法做一个小总结。
受保护的方法
形如_attr的方法名,以单个下划线开头。其在Python中被视为受保护的方法,原则上它不应该被外部调用,IDE也会对外部调用的行为予以警告。然而,与类型注解类似,它只是一种提示,而非强制。
例如:
class Test():
def _protected(self):
print("Protected method")
test = Test()
test._protected() # Protected method
评价为君子协定
私有方法
形如__attr的方法名,以两个下划线开头,是一种仅允许内部调用的私有方法。
例如:
class Test():
def __pr...