面向对象__getattr__//__setattr__
Posted lxx7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象__getattr__//__setattr__相关的知识,希望对你有一定的参考价值。
# class Htext(object): # def __init__(self,slash,time=None): # self.time=time # self.ha="ha" # self.slash=slash # def __setattr__(self, key, value): # self.__dict__[key] = value # print("kokok") #会执行此次,init方法有三个变量,下面(s.age=90)我又赋值了一个变量,用setattr(setattr(s,"hua","mei"))赋值一次,故执行5次, # # def __getattr__(self, item): # print("此属性不存在") #getattr/hasattr找不到属性时,都会走 # return "" # # def __getitem__(self, item): # return self.__dict__[item] # print(s[‘age‘]) # 调用 __getitem__方法 输出 # # def __setitem__(self, key, value): #s[‘name‘] = ‘tom‘ # 调用 __setitem__ 方法 # self.__dict__[key] = value # s=Htext("IO",2) # s.age=90 # setattr(s,"hua","mei")
以上是关于面向对象__getattr__//__setattr__的主要内容,如果未能解决你的问题,请参考以下文章
面向对象之__setattr__,__delattr__,__getattr__
33.Python面向对象类的专有方法__iter____getitem____getattr____call____new____init__
33.Python面向对象类的专有方法__iter____getitem____getattr____call____new____init__
33.Python面向对象类的专有方法__iter____getitem____getattr____call____new____init__