__doc__
文档注释
class Foo:
'我是描述信息'
pass
print(Foo.__doc__)
#打印:
我是描述信息
class Foo:
'我是描述信息'
pass
class Bar(Foo):
pass
print(Bar.__doc__) #该属性无法继承给子类
#打印:None
__module__和__class__
-
__module__
表示当前操作的对象在那个模块 -
__class__
表示当前操作的对象的类是什么
#lib/aa.py
class C:
def __init__(self):
self.name = ‘SB'
lib/aa.py
from lib.aa import C
obj = C()
print obj.__module__ # 输出 lib.aa,即:输出模块
print obj.__class__ # 输出 lib.aa.C,即:输出类
__call__
对象后面加括号,触发执行。
注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 call 方法的执行是由对象后加括号触发的,即:对象() 或者 类()()
class Foo:
def __init__(self):
pass
def __call__(self, *args, **kwargs):
print('__call__')
obj = Foo() # 执行 __init__
obj() # 执行 __call__
#打印:__call__