python类的成员没有访问控制限制_类和对象的访问控制(Python)

Python本身没有任何机制阻止你干坏事,一切全靠自觉!

这句话用来说明Python中类和对象的访问控制很贴切,因为,本质上,Python并没有任何访问控制(变量无需申明,就更没有private这样的字眼)。

“_”开头的成员是可以访问的

给成员前面加上“_”表示:我是用于内部的,但是你可以直接访问我。

“__”开头的成员只是不能直接访问

给成员前面加上“__”表示:我是用于内部的,你不能直接访问我,但是高手可以这样来访问:

>>>

>>> class student():

... __name = 'aa'

...

>>> stu1 = student()

>>> stu1.__name # can not access

Traceback (most recent call last):

File "", line 1, in

AttributeError: 'student' object has no attribute '__name'

>>> stu1._student__name

'aa'

>>>

除非闲的蛋疼,否则就不要干这样的事情!

“__xxxx__”这样定义的成员

这样的定义,表示特殊用途,可以直接访问。

比如python的docstring,就是__doc__。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值