栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python实例属性的显示方法-dir、__dict__

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python实例属性的显示方法-dir、__dict__

在测试实例的属性时,产生过一个误解。

class Test():    name = 'python'    def printest():        print 'Test'a = Test()print dir(a)print a.__dict__

其中dir(a)打印出的内容为:['doc', 'module', 'name', 'printest']
其中a.dict打印出的内容为:{}

之前误以为dir(a)为实例a的已有属性,实际dir的含义是:它返回一个列表,包含所有能找到的属性的名字,即返回类及其子类的属性、方法列表。比如a的类是Test,name实际是类属性。

dict的含义是:这个属性就是将对象内的属性和值用字典的方式显示出来。注意此处说的是对象,此时的对象是a,而实例a本身是没有任何属性的,所以打出来是{}。(可以使用a.name访问是由于向上查找的原因)

比如给a设置属性后,再查看两个函数的打印。

class Test():    name = 'python'    def __init__(self):        self.lastname = 'tttt'    def printest():        print 'Test'a = Test()a.firstname = 'hhh'print dir(a)print a.__dict__

打印输出是这样的:
['doc', 'init', 'module', 'firstname', 'lastname', 'name', 'printest']
{'lastname': 'tttt', 'firstname': 'hhh'}
可以看到此时已经有了实例属性。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/224949.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号