📅  最后修改于: 2023-12-03 15:19:31.001000             🧑  作者: Mango
在Python中,私有变量可以通过在变量名前面添加两个下划线来声明。私有变量的存在意味着它不能被外部访问或修改,只能在类内部使用。这在一定程度上增加了类的封装性,保护了类的数据安全性。
class MyClass:
def __init__(self):
self.__private_var = 1 # 私有变量
mc = MyClass()
print(mc.__private_var) # AttributeError: 'MyClass' object has no attribute '__private_var'
虽然无法从外部访问和修改私有变量,但在类内部可以通过某些方式访问和修改它们。常见的方式如下:
class MyClass:
def __init__(self):
self.__private_var = 1 # 私有变量
def get_private_var(self):
return self.__private_var
def set_private_var(self, value):
self.__private_var = value
mc = MyClass()
print(mc.get_private_var()) # 1
mc.set_private_var(2)
print(mc.get_private_var()) # 2
class MyClass:
def __init__(self):
self.__private_var = 1 # 私有变量
@property
def private_var(self):
return self.__private_var
@private_var.setter
def private_var(self, value):
self.__private_var = value
mc = MyClass()
print(mc.private_var) # 1
mc.private_var = 2
print(mc.private_var) # 2
Python中的私有变量是通过在变量名前面添加两个下划线来声明的,它们增加了类的封装性,保护了类的数据安全性。虽然无法从外部访问和修改私有变量,但在类内部可以通过getter和setter方法或@property装饰器访问和修改它们。