setattr(setattr python)

http://www.itjxue.com  2023-01-26 18:48  来源:未知  点击次数: 

python __getattr__和__setattr__应该怎么理解

__getattr__为内置方法,当使用点号获取实例属性时,如果属性不存在就自动调用__getattr__方法

__setattr__当设置类实例属性时自动调用,如j.name=5 就会调用__setattr__方法 self.[name]=5

因为这个类是从dict继承来的,是dict的超类

所以 self[attr]=value 相当于调用dict的下标方法

与 a={} ; a[attr]=value意思一样

python __setitem__ 和 __setattr__关于无限递归

def?__setitem__(self,key,value):?

????self[key]=value??#以这种方式则会触发无限递归

????

def?__setitem__(self,key,value):?

????self.__dict__[key]=value??#这种则不会,它是以修改对象内置字典的键的值的方式来修改对象的属性值

VB SETATTR设置属性

2个错误的地方

第一、把Dim mystr As String这个放到通用下面

第二、把SetAttr "mystr", vbHidden改成SetAttr mystr, vbHidden

(责任编辑:IT教学网)

更多

推荐CorelDraw教程文章