转载须注明出处:简书@Orca_J35
当前的实现为部分对象类型添加了一些特殊的只读属性,但其中的部分属性不会出现在内置函数 dir()
返回的列表中。
-
object.__dict__
A dictionary or other mapping object used to store an object’s (writable) attributes.
-
instance.__class__
类实例所属的类,可理解为当前实例的模板
>>> type('whale') # 字符串是str类的实例 <class 'str'> >>> type(str) # str类是type类的实例 <class 'type'> >>> type(type) # type类是type类的实例 <class 'type'>
-
class.__bases__
类对象的基类构成的元组,只包含直接基类,并不是继承链上的所有基类
>>> bool.__bases__ (<class 'int'>,) >>> int.__bases__ (<class 'object'>,)
-
definition.__name__
The name of the class, function, method, descriptor, or generator instance.
-
definition.__qualname__
The qualified name of the class, function, method, descriptor, or generator instance.
New in version 3.3.
>>> class C: class D: def meth(self): pass >>> C.D.meth.__qualname__ 'C.D.meth' >>> C.D.meth.__name__ 'meth'
-
class.__mro__
该属性用于存储 MRO 元组,以便在方法解析期间提供基类排序。该属性是动态的,每当继承层次更新时,该属性都可能发生改变。
tips: 旧式类中没有该属性
-
class.mro()
通过元类(metaclass)可以覆盖此方法,以自定义类实例的方法解析顺序。该方法会在程序初始化时调用,其结果存储在
__mro__
中。tips: 旧式类中没有该属性
-
class.__subclasses__()
Each class keeps a list of weak references to its immediate subclasses. This method returns a list of all those references still alive. Example:
>>> int.__subclasses__() [<class 'bool'>]