关于类的__dict__ 属性


class rubik(object):
    def __init__(self,d,dd,ddd):
        self.d=d
        self.dd=dd
        self.ddd=ddd

a=rubik(1,2,3) 
print a.__dict__.keys()

print a.__dict__['ddd']
print a.ddd

从内部实现来说,ins是通过字典来实现的。可以通过ins的dict来访问,如上面代码所示。cls本身也是对字典的浅层包装,访问cls的dict,等得到各种方法。

我遇到的是 ins的属性需要访问,但是实力是str类型,所以不能通过ins.attr 来访问 所以直接用ins.dict[str] 来进行对属性的调用.

        log('kwargs, ', kwargs)
        k, v = '', ''
        for key, value in kwargs.items():
            k, v = key, value
        all = cls.all()
        for m in all:
            if v == m.__dict__[k]:
                return m
        return None

你可能感兴趣的:(关于类的__dict__ 属性)