为了账号安全,请及时绑定邮箱和手机立即绑定

self.name = name和self.__name = name

一个实例的私有属性例如

def __init__(self, name, score):
   self.name = name
   self.score = score

那么我写成  self.name = name 和self.__name =name 有什么区别呢??  好像加和不加 运行出来的结果都是一样的

正在回答

4 回答

感谢!

0 回复 有任何疑惑可以回复我~
加了两个下划线可以理解为定义的私有属性变量,在外部是无法访问的


1 回复 有任何疑惑可以回复我~

例如p=Person('A',89),当为self.name = name时,print p.name 有结果A,当为self.__name =name时外部不可访问,p.name会报错

1 回复 有任何疑惑可以回复我~

不一样,

self.name = name 可以    实例.name  外部访问。这个不是私有属性

self.__name =name 不可以  外部访问

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

self.name = name和self.__name = name

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号