迭代器app
l=[1,2,3]; print(type(l)) l=iter(l); print(type(l)) for i in l: print(i); print(next(l)); print(next(l)); print(next(l));
def fab(max): n,a,b=0,0,1 L=[]; while n<max: #print(b); L.append(b); a,b=b,a+b; n=n+1; return L; l=fab(10) for i in l: print(i);
class Fab(object): def __init__(self,max): self.max=max; self.n,self.a,self.b=0,0,1; def __iter__(self): return self; def __next__(self): if self.n<self.max: r=self.b; self.a,self.b=self.b,self.a+self.b; self.n+=1; return r; raise StopIteration(); f=Fab(10); print(next(f)); print(next(f)); print(next(f)); print(next(f)); print(next(f));
yield生成器函数
def fab(max): n,a,b=0,0,1 while n<max: # print(b); yield b; a,b=b,a+b; n=n+1; l=fab(10); print(next(l)); print(next(l)); print(next(l)); print(next(l));
异常对象
a=10; b=input('请输入被除数:') try:#可能产生异常的语句 b = int(b); c = a / b; print(c) except Exception:#捕获异常并处理 print('发生错误!') print("程序正常结束..");
a=10; b=input('请输入被除数:') try: b = int(b); c = a / b; print(c) except ZeroDivisionError as zero:#子类错误 print('被除数不能为0..异常信息:',zero) except ValueError as v:#子类错误 print('转换数字 出错 请输入数字.异常信息:',v) except Exception:#父类错误 print('发生错误!') else:#没有异常才会执行的代码 print("程序正常结束..")
a=10; b=input('请输入被除数:') try: b = int(b); c = a / b; print(c) except ZeroDivisionError as zero:#子类错误 print('被除数不能为0..异常信息:',zero) except ValueError as v:#子类错误 print('转换数字 出错 请输入数字.异常信息:',v) except Exception:#父类错误 print('发生错误!') else:#没有异常才会执行的代码 print("程序正常结束.."); finally: try: del a,b,c except Exception as e: print(e) print("finally:快儿 释放资源"); print('程序其余代码');