Python为什么要保留显式的 self?而不像其它语言那样隐藏起来
接触Python也有很长一段时间了,相信大家都有过这样的想法:为什么Python 的类方法非要带个 self,而不像其它语言那样隐藏起来,这让人很不爽!
于是我总结了一下,如果大家有什么更好的解释可以说出来!
分析
我做以下的假设来看看Python这么设计是为了解决什么问题:
就拿这个说事儿吧
假设不需要显示传入self,而是隐式的实现它,我们可以干哈呢?
- 这个好像没什么问题
python news =News() news.print_conent()
2 .但是这个会打出什么呢,我的对象呢?
python News.print_conent()
Python是个动态语言,而且没有访问限制符这说法,你想要啥都能拿到,为了有Python可以玩儿,而且不至于被你玩儿坏,总是要牺牲点什么的。
还有一个原因,引用Python作者Tim Peters的设计原则的第二条:
快去翻译一下,印象深刻, :)
Note: 如下的命令可以显示上面的信息
>python >import this
布鲁斯·埃克尔(Bruce Eckel)发了篇博文 ,提议从类方法的形参列表中删除“self”。却这个提议不能通过!
参考:https://www.artima.com/weblogs/viewpost.jsp?thread=239003
最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16