首页上一页 1 下一页尾页 1 条记录 1/1页
私有成员的访问与修改问题
发表在Python图书答疑
2018-07-25 悬赏:1 学分
《零基础学Python》第7章 面向对象程序设计 192页-193页
是否精华
是
否
版块置顶:
是
否
class Swan: __neck_swan = '天鹅的脖子很长' def __init__(self): print('__init__:',Swan.__neck_swan) def profile(self): print('方法中访问私有:',Swan.__neck_swan) swan = Swan() swan._Swan__neck_swan = '天鹅的脖子很long' print('修改后:',swan._Swan__neck_swan) swan.profile()
书上说,私有成员可以通过“实例名._类名__xxx”方式访问,那么我想问可不可以通过这种方式修改呢?比如我上面这段代码,用这种方法修改后,输出的属性确实变了,但是当我在调用后面的那个profile方法时,输出的还是原来的类属性,这又说明没有修改成功,所以到底能不能改呢?
还有如果可以通过这种方式访问的话,那private还有什么意义呢,跟用@property实现只读(194页)也没什么区别了啊