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