一、生成器
大前提:生成器是一种自定义的迭代器,本质就是迭代器
yield关键字:函数内有yield关键字,调用函数不会执行函数体代码,会得到一个返回值,该返回值就是生成器对象。
当函数运行时,遇到第一个yield会停下,并且返回yield后的值当做本次next的结果返回。
yield的表达式形式的应用:x=yield 强调:针对表达式形式的yield的使用,第一步必须让函数先停在一个yield的位置上,才能进行传值操作
第二次运行时,先为当前暂停位置的yield赋值,之后再次碰到下一个yield停下来,并将后面的值当做本次next的结果返回
总结:yield只能在函数中使用
1.yield提供了一种自定义迭代器的解决方案
2.yield可以保存函数的暂停状态
3.yield对比return
(1)相同点:都可以返回值,值的类型与个数都没有限制
(2)不同点:yield可以返回多次值,而return只能返回一次值函数就结束了
生成器表达式:x=(y for x in range(1,6) if i>3)
二、内置函数
三、面向过程编程
定义:核心是过程二字,过程指的是解决问题的过程,是一种机械式的思维方式。所以说面向过程编程就是一种针对问题一步步分解成简单问题来解决的思维方式。
优点:复杂的问题流程化,进而简单化
缺点:可扩展性差