在Python中使用函数外部的变量

时间:2010-10-11 10:41:06

标签: python

一个非常简单的问题,我确信我知道但是一定忘记了

运行此代码时:

x = 0
def run_5():
    print "5 minutes later"
    x += 5
    print x, "minutes since start"

run_5()
print x

我得到x未定义。如何在函数中使用x并在其外部实现?

4 个答案:

答案 0 :(得分:6)

global x放在函数的开头。

但是,你应该考虑是否真的需要这个 - 最好从函数中返回值。

答案 1 :(得分:6)

只返回一个值?

x = 0
def run_5():
    print "5 minutes later"
    x += 5
    return x

x=run_5()
print x

答案 2 :(得分:0)

为了确保,未定义的x是第4行的x,而不是最后一行的。

函数外部的x仍然存在且不受影响。它是内部的,不能添加任何东西,因为就Python而言,当你尝试将+ =运算符应用于它时它不存在。

答案 3 :(得分:-2)

我认为你需要在函数外部定义一个变量,如果你想从函数中为它赋一个返回值。

变量的名称可能与函数中的名称不同,因为它只是持有它