转载请标明出处(http://blog.csdn.net/lis_12/article/details/53521554).
Python一切皆对象,但并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时需用dir()来列出对象的所有属性。
二者区别:
__dict__属性:
实例的__dict__仅存储与该实例相关的实例属性,
正是因为实例的__dict__属性,每个实例的实例属性才会互不影响。
类的__dict__存储所有实例共享的变量和函数(类属性,方法等),类的__dict__并不包含其它类的属性。
dir()函数:
dir()是Python提供的一个API函数,dir()函数会自动寻找一个对象的所有属性(包括从父类中继承的属性)。
一个实例的__dict__属性仅仅是那个实例的实例属性的集合,并不包含该实例的所有有效属性。所以如果想获取一个对象所有的有效属性,应使用dir()。
| 留言与评论(共有 0 条评论) “” |