先是昨天的内容回顾,然后补充了几个特殊方法
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
浙公网安备 33010602011771号