先是昨天的内容回顾,然后补充了几个特殊方法
class 类名(object):
"""
afafafaaffseaeeseseasfg
"""
def __init__(self):
pass
def 方法名(self):
pass
def __str__(self):
return “a” 这个返回的必须是 字符串
对象名=类名()
print(对象名) 如果没有str那两行 打印内存地址和__main__ 如果有那两行传回什么打什么
print(对象名。__doc__) 这个打印出那行注释afafafaaffseaeeseseasfg
class 类名(object): def __init__(self,name, age) self。name=name self.age=age def 方法名(self): pass 对象1=类名(’赵‘,’1‘) 对象2=类名(‘钱’,‘1’) print(对象名1.__dict__) 这样就把 赵 1 都打印出来了 这就是把封装的东西都取出来了
l=[1,2,3,4] from i in l: print(i) 这个l可以被循环,是可迭代对象 class 类名(object): def __init__(self,name,age): self.name = name self.age = age def 方法名(self): pass # obj1是类的一个对象,不可迭代对象 obj1 = 类名('赵',99) for item in obj1: print(item) 如果想把不可迭代对象,转换成可迭代对象, 1,在类中定义__iter__方法 2,iter内部返回一个迭代器(生成器也是特殊的迭代器) class 类名(object): def __init__(self,name,age): self.name = name self.age = age def 方法名(self): pass def __iter__(self): return iter((self.name,self.age)) 或return iter([1,2,3,4]) for i in obj1 print(i) 现在就可以打印了,第一个是打印实参,必须是可迭代的,加中括号,列表, 小括号,元组 class 类名(object): def __init__(self,name,age): self.name = name self.age = age def 方法名(self): pass def __iter__(self): yield 1 yield 2 这是生成器,生成器也属于迭代器 也ok