📜  私有变量 python (1)

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

私有变量 Python

在Python中,私有变量是指不能从类的外部进行调用或直接访问的变量。私有变量可以在类内部使用,但在类外部是不可见的。这是因为Python使用双下划线(__)来隐藏这些变量。

定义私有变量

在定义类的变量时,将变量名称前加上双下划线即可定义私有变量。例如:

class MyClass:
    def __init__(self):
        self.__my_private_var = 42

可以看到,这个类中定义了一个私有变量__my_private_var,它的值为42

访问私有变量

虽然不能从类的外部访问私有变量,但是在类内部可以访问。我们可以在类定义的方法内部进行访问。例如:

class MyClass:
    def __init__(self):
        self.__my_private_var = 42
    
    def get_private_var(self):
        return self.__my_private_var

在这个示例中,我们定义了一个get_private_var方法,它返回私有变量__my_private_var的值。这样,在类外部,我们就可以通过调用这个方法来访问私有变量。

my_class_instance = MyClass()
my_class_instance.get_private_var() # 42
修改私有变量

因为私有变量不能从类的外部进行访问,也就不能直接修改它的值。但是,我们可以在类内部定义一个方法,用于修改私有变量的值。例如:

class MyClass:
    def __init__(self):
        self.__my_private_var = 42
    
    def get_private_var(self):
        return self.__my_private_var
    
    def set_private_var(self, value):
        self.__my_private_var = value

这个示例中,我们定义了一个set_private_var方法,它可以修改私有变量__my_private_var的值。注意,在类的外部不能直接访问或修改私有变量的值,因此需要定义一个方法来修改它。

my_class_instance = MyClass()
my_class_instance.set_private_var(24)
my_class_instance.get_private_var() # 24
总结

Python中的私有变量可以使用双下划线来定义,不能从类的外部访问或修改。但是,我们可以在类内部定义方法来访问和修改私有变量的值。这个特性可以帮助我们保护数据的隐私性,同时也提高了代码的安全性。