python私有变量

只有在函数里(不一定是构造函数),以__开头的变量才是私有变量,看代码:
class A:
def init(self):
self.data1=1
self.data2=2
self.__data3=3
self.__data4=44
def fun1(self):
print(self.__data4)
self.data5=5

object_a=A()

object_a.__data4=4
print(object_a.__data4)
object_a.fun1()
print(dir(object_a))
输出:
4
44
[’_A__data3’, ‘_A__data4’, ‘class’, ‘__data4’, ‘delattr’, ‘dict’, ‘dir’, ‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’, ‘gt’, ‘hash’, ‘init’, ‘init_subclass’, ‘le’, ‘lt’, ‘module’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘setattr’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘weakref’, ‘data1’, ‘data2’, ‘data5’, ‘fun1’]
我用实例object_a也定义了一个__data4变量,但是__data4和类里面的__data4并不是同一个变量,调用dir()函数可知,形如_A__data4的才是私有变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值