python类之特殊属性和魔术方法
一 python特殊属性 1 总述 属性 含义 _ name_ 类,函数,方法等的名字 _ module_ 类定义所现在的模块名 _ class_ 对象或类所属的类 _ bases_ 类的基类的元素,顺序为他们在基类列表中出现的顺序 _ doc_ 类/函数的文档字符传,如果没有定义则为None _ mro_ 类的mro,class.mro()返回 _ dict_ 类或实例的属性,可写的字典 _ dir_ 返回了类或者对象所有成员列表,dir()函数调用的是_ dir_ (),如果提供了_ dir_ (),则返回属性列表,否则尽可能从__dict__属性中收集信息 2 name 获取类和函数的名字 #!/usr/local/bin/python3.6 #coding:utf-8 class A: pass class B(A): pass def C(): pass print (A.__name__,B.__name__,C.__name__,sep='\n') 3 module 类定义所在的模块名 #!/usr/local/bin/python3.6 #coding:utf-8 class A: pass class B: pass print (A.__module__,B.__module__) #!/usr/local/bin/python3.6 #coding:utf-8