x=yield
1 yield的表达式形式的应用
2 面向过程编程
3 递归
4 内置函数

三元表达式:res=True if 1>2 else False
列表解析:[i for i in range(10) if i>5]
生成器表达式:(i for i in range(10) if i>5)
生成器:函数内部有yield关键字,那该函数执行的结果是生成器,生成器本质就是迭代器

生成器的用途:模拟管道,惰性计算

yield的功能:
1 把__iter__和__next__方法封到函数里
2 与return的功能类似,但是return只能返回一次值,而yield可以返回多次值
3 函数暂停与再继续的状态是由yield保存的

一般用一个@init装饰器初始化yield迭代器,用send传递参数,执行时先传参给yield,yield再赋值给变量,执行完后续代码后返回yield的返回值,等待下一次迭代

内置函数:
all 可迭代对象为空True,全为True返回True
any 可迭代对象为空False,有非空就True
callable 函数是否可调用