【问题标题】:Returning from function and then coming back to same place (Python) [duplicate]从函数返回然后返回同一个地方(Python)[重复]
【发布时间】:2020-12-13 05:55:46
【问题描述】:

我想使用 return 从函数中返回变量,然后调用相同的函数,但从返回中恢复。这可能吗?示例:

def abc():
    return 5
    return 6
var = abc() # var = 5
###
var = abc() # var = 6

【问题讨论】:

  • 你听说过发电机吗?
  • 关于产量的事情?我听说过
  • 发布了一个例子
  • 你不能用return来做这件事,但是如果你用yield你可以用生成器做一些类似的事情

标签: python


【解决方案1】:

在 python 中返回一个值会终止函数的进程。关键是一旦完成,它就会返回一个值。 也许尝试通过返回一个堆栈来解决您的问题 - 包含您需要的尽可能多的值,

def abc():
    a = []
    a.append(6)
    a.append(5)
    return a
var = abc().pop # var = 5
###
var = abc().pop # var = 6


【讨论】:

    【解决方案2】:

    我认为您正在寻找生成器:

    def abc():
        yield 5
        yield 6
    
    gen = abc()
    var = next(gen)
    print(var)
    var = next(gen)
    print(var)
    

    【讨论】:

      【解决方案3】:

      生成器示例:

      def abc():
          yield 5
          yield 6
      gen = abc()
      var = next(gen) # var = 5
      ###
      var = next(gen) # var = 6
      

      【讨论】:

        猜你喜欢
        • 2021-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-12
        • 1970-01-01
        • 1970-01-01
        • 2018-08-27
        • 1970-01-01
        相关资源
        最近更新 更多