迭代器协议:(for循环工作机制)对象必须提供一个next方法,执行该方法要么返回迭代中的下一项 要么就引起一个StopIteration异常,终止迭代(只能往前不能退后) 例如列表list,for循环时: ①将列表调用其内部__iter__方法使之成为可迭代对象(iter_L = L.__iter__) ②再使用iter_L内部的next方法,直到捕捉到StopIteration异常
#三元运算符
name = 'jq' print(1 if name == 'jq' else 2)
#列表解析
l1 = ['鸡蛋%s'%i for i in range(10)] l2 = [i for i in range(10)] print(l1) print(l2)
#生成器表达式(相比列表解析更加节省内存)
l3 = ('鸡蛋%s'%i for i in range(10))
print(l3)
print(l3.__next__()) #调用一次输出一个
print(l3.__next__())



