与类相关的魔术属性

__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'>)

 

posted @ 2021-05-21 21:41  urls  阅读(44)  评论(0编辑  收藏  举报