Protected attributes in Python
本问题已经有最佳答案,请猛点这里访问。
假设我的模块中有这个类:
1 2 3 | class Person: def __init__(self, name): self._name = name |
因此,在我的类中有一个名为
1 2 | p = Person('Felipe') print(p._name) |
为什么?不应该保护受保护的属性不受类或子类外部直接访问的保护吗?
@Coldspeed说得对。如果希望python将"mangling"应用于名称,则需要一个以双下划线开头的名称:它基本上会更改变量名,使其无法从外部访问。
看这里,这是官方的python文档
不要伪造这是Python,非Java。