与类相关的魔术属性
__dict__ 获取对象或类的内部成员结构
__doc__ 获取对象或类的内部文档
__name__ 获取类名函数名
__class__ 获取当前对象所属的类
__bases__ 获取一个类直接继承的所有父类,返回元组
class Man(): pass class Woman(): pass class Sasuke(Man,Woman): """ 描述: 佐助这个的天生属性,技能 成员属性: __eye skin 成员方法: skylight __moonread """ __eye = "血轮眼->万花筒->轮回眼" skin = "白色" def skylight(self , myfunc): print("使用天照,一团黑色的火焰 ... 恐怖如斯") res = myfunc.__name__ print(res , type(res) ) def __moonread(self): print("使用月读,让敌人拉入到幻术空间,被施法者掌握") obj = Sasuke() # __dict__ 获取对象或类的内部成员结构 dic = Sasuke.__dict__
结果:
{'__module__': '__main__', '__doc__': '\n描述: 佐助这个的天生属性,技能\n成员属性: __eye skin\n成员方法: skylight __moonread\n\t', '_Sasuke__eye': '血轮眼->万花筒->轮回眼', 'skin': '白色', 'skylight': <function Sasuke.skylight at 0x000001B88D53C268>, '_Sasuke__moonread': <function Sasuke.__moonread at 0x000001B89FD1D158>}
dic = obj.__dict__ print(dic) 结果:
{}
# __doc__ 获取对象或类的内部文档 print(Sasuke.__doc__) print(obj.__doc__) # __name__ 获取类名函数名 def func343434(): print("佩恩出场时,使用一手地爆天星,技惊四座,点燃所有观众") obj.skylight(func343434)
结果:
使用天照,一团黑色的火焰 ... 恐怖如斯
func343434 <class 'str'>
# __class__ 获取当前对象所属的类 print(obj.__class__)
结果:
<class '__main__.Sasuke'> # __bases__ 获取一个类直接继承的所有父类,返回元组 print(Sasuke.__bases__)
结果:
(<class '__main__.Man'>, <class '__main__.Woman'>)