#------------__str__输出对象class Person: def __init__(self,name): self.name=name def __str__(self): return ('Person object name :%s'%self.name)print(Person('张三'))#-------------遍历对象class Student: def __init__(self): self.name='Python' self.count=0 def __iter__(self): return self def __next__(self): self.count+=1 if self.count>100: raise StopIteration() return self.countS=Student()for i in S: print(i)#-------------------------定义__getitem__方法使用索引获取值class Language(object): def __getitem__(self, item): return itemlanguage = Language()print(language[2])#-------------------------------没有找到属性调用 _getattr__class Person: def __init__(self,name): self.name=name def __getattr__(self, item): if item=='addr': return '上海' else: return '不知道'P=Person('张三')print(P.name)print(P.addr) #打印print(P.sb)#打印 不知道#-------------对象可执行__call__class Person: def __init__(self,name): self.name=name def __call__(self, *args, **kwargs): print ('My name is %s'%self.name)P=Person('李四')P()
Sign in to make a reply
永恒之约bo