python基础知识~ 函数详解2

python~函数详解2
 1 生成器函数
   定义 如果函数有yield这个关键字,就是生成器函数.生成器函数() 获取的是生成器,不执行函数
  须知 yield和return一样,都可以返回数据,但是不会彻底中断函数,分段进行函数处理
  继续执行 函数(迭代器)
  __next__()
  __send__(参数)//和next具有同一个功能,还添加了给上一个值赋值功能
  def func()
  print(a)
  a=yield 1 //yield特殊定义
   print (b)
  b=yield 2说
  gen=funct//不会执行函数
  a=gen.__next___()//继续执行函数
  a=gen.__send__("wdadaw")
 注意
  1 书写生成器函数最后必须以yield结尾,否则会报异常
  2 最后一个yield不能传值,yield会打印输出
  3 可以通过for,list循环访问对象,则证明for和list循环自带__next__
 2 推导式
   一句话生成列表
   list=["python"+star(i) for i in range(10)]
   1 构成方式 结果 for循环 判断 
   2 多重for循环并排写即可
     一句话生成字典
     dick={a[key]:value for i in range(len(list)) }
    语法构成 {key:value 循环 条件判断}
  3 生成器表达式
   1 我们可以观察到,与上面推导式只是括号不同
   2 生成器表达式有惰性机制(如果有一个值被拿走,就没了,除非重新调用生成器函数)
   c=(a for i in a)
   c.__next__()

猜你喜欢

转载自www.cnblogs.com/danhuangpai/p/10888959.html