在Python中,可以通过在属性名前加上两个下划线("__")来定义私有属性。私有属性的意思是该属性只能在类的内部被访问,而不能在类的外部直接访问。例如:
class MyClass:
def __init__(self):
self.__private_attr = 10 # 定义私有属性
def __private_method(self):
print("这是一个私有方法")
def public_method(self):
self.__private_method() # 在类的内部可以访问私有方法
print(self.__private_attr) # 在类的内部可以访问私有属性
obj = MyClass()
obj.public_method()
注意,虽然Python通过名称重整(name mangling)机制对私有属性和方法进行了改名,使其变得不易被访问,但仍然可以通过 _类名__私有属性名
的方式从外部访问私有属性。例如:
obj._MyClass__private_attr # 从外部访问私有属性