写了一篇关于 Python 访问控制的文章,请各位大佬鉴定一下。
https://juejin.im/post/5ac18d08f265da237b223d1a
https://juejin.im/post/5ac18d08f265da237b223d1a
1
NoahNye Apr 3, 2018 via iPhone
学 py 的时候看过这段,严格来说 py 是没有私有的,通过下划线其实是提醒后来人谨慎使用该变量。
|
2
u14e Apr 3, 2018
楼主要想搞个大新闻,还是找点有深度的主题吧!这东西任何一本入门书都有讲解
|
3
chroming Apr 3, 2018 讲 py3 源码才能在 v 站立足
|
4
codehole Apr 3, 2018 via Android
标题赞一个
|
5
xpresslink Apr 3, 2018
谢谢楼主不辞辛苦跑来告诉大家母鸡是会下蛋的。
只是哲学不同,我们都认为自己是成年人。 |
6
xnth97 Apr 4, 2018
感谢 + 没有帮助(
|
7
blless Apr 4, 2018 via Android
这篇真的有点水了… python 不了解这个特性可以说是完全不会 python 吧…
|
9
wivwiv Apr 4, 2018 via Android
快出去走道里看看 看到墙上有火警报警按钮没,会不会误触?非要按能不能按下去?但是你应不应该按?
|
10
lyroge Apr 4, 2018
基础文章,还不错 ; ) 可以看看描述符之类
|
11
nov Apr 4, 2018
@xpresslink 只是哲学不同,我们都认为自己是成年人,这句话什么意思?
|
12
gitgabige Apr 4, 2018
写得可以,之前一直把 python 当脚本来写的,面向对象没用过
|
13
ericls Apr 4, 2018
everything is available at runtime
|
14
scriptB0y Apr 4, 2018 正确的访问控制应该使用 __getattr__ __setattr__
自定义的方法或变量在任何时候都不应该使用 __foo__ 的形式。js 社区前短时间好像在争执 Array.prototype.flatten 的方法问题,因为和有个库定义了 flatten,js 如果加入这个的话会冲突。所以有人提议我们用 smoosh (笑) Python 就没有这个问题,只要大家老老实实把魔术方法保留给 Python 语言。 |
15
xpresslink Apr 4, 2018
@nov 和 9 楼一个意思。
|
16
ahaxzh Apr 4, 2018
配图用个 C++//
|
17
GeruzoniAnsasu Apr 4, 2018
。。。。。。。。。。。任何一本 python 入门数都会讲的东西
|
18
GeruzoniAnsasu Apr 4, 2018
如果对这个都不了解换我我可能直接拒了
|
19
aa825aa Apr 4, 2018
1、_xxx 不能用于’ from module import *’ 以单下划线开头的表示的是 protected 类型的变量。即保护类型只能允许其本身与子类进行访问。
2、__xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也不可以 |
20
aa825aa Apr 4, 2018
"""是一种约定的规范,而不是语言层面真的实现了访问控制...""" lz 搞笑吗
|
21
simpleapples OP @aa825aa 这句话有什么问题吗?
|
22
junnplus Apr 4, 2018
这怕是不能谈笑风生吧
|
23
qsnow6 Apr 4, 2018
水到不行
|