yield函数的简单用法

 

yield

  
  # 生成式   列表已存在,占用空间大
  list1 = [x for x in range(10)]
  ​
  #生成器    得到的是 generator  对象 引用 
  list3 = (x for c in range(10))
  for i in list3:   # 在需要用的时候再计算出值
      print(i)
     
  # 生成器函数
  def fibo(n):  #普通函数 
      a, b = (0, 1)
      for _ in range(n):
          a, b = b, a + b
      return adef fibo(n):  #生成器函数   保留上次计算的值 不会重复计算 
      a, b = (0, 1)
      for _ in range(n):
          a, b = b, a + b
          yield a
  # 生成式   列表已存在,占用空间大
  list1 = [x for x in range(10)]
  ​
  #生成器    得到的是 generator  对象 引用 
  list3 = (x for c in range(10))
  for i in list3:   # 在需要用的时候再计算出值
      print(i)
     
  # 生成器函数
  def fibo(n):  #普通函数 
      a, b = (0, 1)
      for _ in range(n):
          a, b = b, a + b
      return adef fibo(n):  #生成器函数   保留上次计算的值 不会重复计算 
      a, b = (0, 1)
      for _ in range(n):
          a, b = b, a + b
          yield a
  
  string.center(占据的位置大小, [,空位填补])
  string.ljust()
  string.rjust()
  # 二选一列表
  [[0], [1]][True] = [1]
  [[0], [1]][False] = [0]
  ​
  string.center(占据的位置大小, [,空位填补])
  string.ljust()
  string.rjust()
  # 二选一列表
  [[0], [1]][True] = [1]
  [[0], [1]][False] = [0]
  ​

 

 

yield函数

  • 生成器函数, 可以理解为暂停,程序会暂停在yield的地方, 等待下一次调用 next() 时, 程序又会执行一次, 然后继续执行

 

 

可以通过打断点来进行理解, 让程序一步一步执行, 查看程序到底执行到了那里, 暂停到了那里

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值