Python 定义类的私有属性

私有属性变量不能从对象外部访问,而只能通过存取器方法

class Secretive:
    def __inaccessible(self):
        print("Bet you can't see me ...")
    def accessible(self):
        print("The secret message is:")
        self.__inaccessible()
>>> s = Secretive()
>>> s.__inaccessible()
Traceback (most recent call last):
File "", line 1, in 
AttributeError: Secretive instance has no attribute '__inaccessible'
>>> s.accessible()
The secret message is:
Bet you can't see me ..

现在从外部不能访问 __inaccessible ,但在类中(如 accessible 中)依然可以使用它

如果你不希望名称被修改,又想发出不要从外部修改属性或方法的信号,可用一个下划线打
头。这虽然只是一种约定,但也有些作用。例如, from module import * 不会导入以一个下划线打头的名称

你可能感兴趣的:(Python)