【问题标题】:Python method not returning value [duplicate]Python方法不返回值[重复]
【发布时间】:2017-10-28 12:48:04
【问题描述】:

尽管在方法内部进行了修改,但我遇到的问题是返回的值与传递给方法时完全相同。

def test(value):
    value+=1
    return value

value = 0
while True:
    test(value)
    print(value)

这个精简的示例每次都简单地返回零,而不是像人们期望的那样增加整数。为什么会这样,我该如何解决?

我不是在问 return 语句是如何工作的/是什么,只是为什么我的值没有更新。

【问题讨论】:

  • 我更新了它以区分问题。

标签: python python-3.x methods return


【解决方案1】:

您需要将 return'd 值重新赋值

value = test(value)

【讨论】:

    【解决方案2】:

    使用这个:-

    def test(value):
      value+=1
      return value
    
    value = 0
    while True:
      print(test(value))
    

    您没有使用返回值,而在 print 语句中使用 test(value) 可以避免创建另一个变量。

    【讨论】:

    • 那仍然不会增加他的整数。
    • 它不会保留更新的结果以供在其他位置重复使用,但出于测试目的,他/她可以使用打印语句/只需将其分配给变量“value”以实现可用性目的。此外,他/她没有结束while循环,所以它是无限执行的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 2019-05-30
    • 2018-08-27
    • 2018-10-07
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多