python中的私有变量

在Python中,通过在变量或方法名前面添加一个或两个下划线,可以将其标记为私有的(private)。这样的变量或方法被称为“私有变量”或“私有方法”。

具体来说:

  1. 以一个下划线 _ 开头的变量或方法,被视为“弱私有”,表示它们不应该在模块外部被直接访问。但是,它们仍然可以在模块外部访问,这是一种约定俗成的做法。

    例如:

    _private_variable = 10
    
    def _private_function():
        print("This is a private function")
    
  2. 以两个下划线 __ 开头的变量或方法,被视为“强私有”,表示它们应该只能在定义它们的类内部访问,无法在外部直接访问。

    例如:

    class MyClass:
        def __init__(self):
            self.__private_variable = 10
    
        def __private_method(self):
            print("This is a private method")
    

    对于强私有变量,Python解释器会在变量名前面添加一个下划线和类名,以防止子类意外覆盖它们。

    例如,在上述代码中,__private_variable 实际上会变成 _MyClass__private_variable

请注意,这些规则实际上是一种约定,而不是强制性的限制。Python并没有提供真正的“私有性”,因此可以通过一些手段来访问和修改私有变量。然而,强烈建议遵循这些约定,以保持代码的清晰性和可维护性。

Python私有变量是指在类中以双下划线“__”开头的变量,这些变量只能在类内部访问,外部无法直接访问。私有变量的作用是保护数据,防止外部对数据的直接修改,从而提高程序的安全性和稳定性。 在Python私有变量的访问需要通过特殊的方式进行,即使用“_类名__变量名”的方式进行访问。例如,如果一个类中定义了一个私有变量“__name”,那么在类内部可以直接访问该变量,但在类外部则需要使用“_类名__name”的方式进行访问。 下面是一个示例代码,演示了Python私有变量的定义和访问: class Person: def __init__(self, name, age): self.__name = name self.__age = age def get_name(self): return self.__name def get_age(self): return self.__age p = Person("Tom", 18) print(p.get_name()) # 输出:Tom print(p.get_age()) # 输出:18 print(p.__name) # 报错:'Person' object has no attribute '__name' print(p._Person__name) # 输出:Tom 在上面的代码,Person类定义了两个私有变量“__name”和“__age”,并提供了两个公共方法“get_name”和“get_age”用于获取这两个变量的值。在类外部,无法直接访问私有变量“__name”和“__age”,需要通过公共方法进行访问。同时,如果在类外部使用“__name”和“__age”进行访问,会导致程序报错。而使用“_Person__name”和“_Person__age”进行访问,则可以成功获取私有变量的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王摇摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值