首页 > 其他 > 详细

特殊属性

时间:2020-10-05 15:20:05      阅读:33      评论:0      收藏:0      [点我收藏+]

 

  • __name__          类,函数,方法的名字
  • __module__       类,函数,方法所在的模块名
  • __class__          类,对象,函数所属的类
    所有的函数和方法均属于<class ‘function‘>
    def bnm():pass
    class P:
        def uo(self):pass
    print(bnm.__class__)
    print(P.uo.__class__)

    技术分享图片

     

     

  • __bases__       类的基类元组,顺序为他们在基类列表 中出现 的顺序
    class P:
        def uo(self):pass
    class M:pass
    class N:pass
    class B(N,P,M):pass
    print(B.__bases__)
    print(B.__base__)

    技术分享图片

  • __doc__    类,函数的文档字符串,如果没有定义则为None
  • __mro__             类的mro,class.mro()返回的结果保存在__mro__中
    class P:
        def uo(self):pass
    class M:pass
    class N:pass
    class B(N,P,M):pass
    print(B.mro())

    技术分享图片

     

     

  • __dict__          类或实例的属性,可写
  • __dir__           返回类或者对象的所有成员列表,dir()函数就是调用__dir__(),如果提供__dir__(),则返回属性列表,否则会尽量从__dict__属性中收集信息

 

import relevance3
from relevance3 import Animal

class Hix(Animal):
    x=cat
    y=uiop

class Uiz(Animal):
    def __dir__(self):
        return [Uiz,bnm] # must return a list

print(relevance2 Modules\‘s name = {}.format(dir())) # 模块名词空间内的属性
print(relevance3 Modules\‘s name from relevance2 = {}.format(dir(relevance3))) # 指定模块名词空间内的属性
print(object.__dict__ = {}.format(sorted(object.__dict__.keys()))) # object属性
print(Animal\‘ dir = {}.format(dir(Animal)))
print("Hix‘s dir = {}".format(dir(Hix)))
print(**70)
hix=Hix(hixx)
print(sorted(dir(hix))) # hix的属性,Hix类及所有祖先类的属性
print(sorted(hix.__dir__()))
# dir()的等价,近似如下,__dict__字典中几乎包括了所有属性
print(set(hix.__dict__.keys()) | set(hix.__class__.__dict__.keys()) | set(object.__dict__.keys()))

print(Uiz\‘ dir = {}.format(dir(Uiz)))
uiz=Uiz(uiop)
print(dir(uiz))
print(uiz.__dict__)

 

特殊属性

原文:https://www.cnblogs.com/dissipate/p/13769891.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!