📜  Python中的私有变量(1)

📅  最后修改于: 2023-12-03 15:19:31.001000             🧑  作者: Mango

Python中的私有变量

在Python中,私有变量可以通过在变量名前面添加两个下划线来声明。私有变量的存在意味着它不能被外部访问或修改,只能在类内部使用。这在一定程度上增加了类的封装性,保护了类的数据安全性。

声明私有变量
class MyClass:
    def __init__(self):
        self.__private_var = 1  # 私有变量

mc = MyClass()
print(mc.__private_var)  # AttributeError: 'MyClass' object has no attribute '__private_var'
访问和修改私有变量

虽然无法从外部访问和修改私有变量,但在类内部可以通过某些方式访问和修改它们。常见的方式如下:

使用getter和setter方法

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

使用@property装饰器

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装饰器访问和修改它们。