位置: 编程技术 - 正文
推荐整理分享浅谈Python由__dict__和dir()引发的一些思考(python的dict类型),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python的dict类型,python的__dict__,python的__dict__,python __dict__用法,python dict.fromkeys,python中dict.keys,python dict.fromkeys,python __dict__用法,内容如对您有帮助,希望把文章链接给更多的朋友!
关于__dict__和dir()的区别和作用请参考这篇文章:
基于Python __dict__与dir()的区别详解
说下我当时遇到的问题:
首先,我们知道实例方法也可以算作是属性,通过hasattr()函数可以验证.而 __dict__是用来存储对象属性的一个字典,但是它的返回值中并没有'func'!
再看dir()函数,它会自动寻找一个对象的所有属性(包括从父类中继承的属性),它的返回值中有'func'.
所以我推测,"实例方法"并不属于实例的"私有"属性,而是该类的所有实例所共享的属性!
实例得到私有属性需要一个"私有化"的过程,就像__init__初始化函数!
验证:
"实例方法"之所以被称为实例方法,或者说每个实例执行实例方法会因为各自私有属性的不同而产生不同的结果,是因为方法中的self参数.
实例在执行实例方法时会在其所属的类中寻找该方法,然后通过self参数将实例本身传递进去,实例的私有属性就一并进行了传递.通过self参数就实现了实例和方法的绑定.
总结
标签: python的dict类型
本文链接地址:https://www.jiuchutong.com/biancheng/372124.html 转载请保留说明!友情链接: 武汉网站建设