今天学了python的条件控制和循环语句,大体上和C语言差不多,不过感觉更简单一些,,,但是我的pycharm不知道为啥又不行了,我吐了。。。打算换sublime text试一下。。。
比较新的概念是迭代器(iter(),next())和生成器 (yield())
创建一个返回数字的迭代器
class fanfan:
def __iter__(van):
van.a=5
return van
def __next__(van):
x = van.a
van.a += 1
return x
myclass = fanfan()
myiter = iter(myclass)
print(next(fiter))
print(next(fiter))
print(next(fiter))
#输出
5
6
7
StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况,在 __next__()
方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代。
class fanfan:
def __iter__(van):
van.a=5
return van
def __next__(van):
if van.a<=10:
x=van.a
van.a += 1
return x
else:
raise StopIteration
myclass = fanfan()
fiter = iter(myclass)
for x in fiter:
print(x)
#输出
5
6
7
8
9
10