美文网首页
特殊属性

特殊属性

作者: import_hello | 来源:发表于2018-09-16 00:50 被阅读0次

    转载须注明出处:简书@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'>]
      
    赞赏.jpg

    相关文章

      网友评论

          本文标题:特殊属性

          本文链接:https://www.haomeiwen.com/subject/uyvtnftx.html