魔术方法

doc:

https://docs.python.org/zh-cn/3/reference/datamodel.html#special-method-names

__getattribute__和__getattr__

属性存在时调用__getattribute__,不存在时(或者在__getattribute__抛出AttributeError)调用__getattr__

__name__和__qualname__

__qualname__ 返回某个类、函数或方法的 限定名称 (指完整的调用路径, 如)

__name 仅返回名称

>>> class C:
...    class D:
...        def meth(self):
...            pass

>>> C.__qualname__
'C'
>>> C.D.__qualname__
'C.D'
>>> C.D.meth.__qualname__
'C.D.meth'
>>> C.D.meth.__name__
'meth'

参见