如何调用已在前一个函数中定义的变量?

时间:2016-12-12 16:24:42

标签: python function variables return nameerror

我的代码如下......

def addition(a, b):
    c = a + b
    return c

然后我希望能够在程序中使用C作为变量。例如......

d = c * 3

然而,我得到了一个名为'C' C'没有定义...但我已经返回了c,为什么我以后不能在代码中使用它?!如此迷茫。谢谢!

(这显然是我想要做的更简单的版本,但我认为我保持简单,所以我可以理解为什么我不能在我的函数之外调用这个变量的基础知识,即使我返回变量谢谢)

3 个答案:

答案 0 :(得分:1)

您已返回c,但未返回整个变量,即名称c仅存在于实例化范围内。

因此,如果要使用返回的值,则应将其重新分配给新名称。您可以通过再次将其重新分配给c来实现,但它可以是您想要的任何名称。

def addition(a, b):
    c = a + b
    return c

new_var = addition(1,2) #new_var gets the value 3
c = addition(2,3) #c gets the value 5

看看关于变量和范围的这个很好的解释(link

答案 1 :(得分:1)

您通常会在代码中稍后定义一个函数使用。对于这种情况,请使用另一个全局变量c

def addition(a, b):
    c = a + b
    return c

c = addition(1, 2)
d = c * 3 # d == 9

函数允许重复使用代码或程序区别,以便以后可以在代码中写入

m = addition(4, 5)

它会将所需的功能结果存储到m

答案 2 :(得分:1)

如果要在函数中定义c并在以后使用它,可以使用全局变量。

c = 0

def addition(a, b):
global c
c = a + b
return c
但是,使用全局变量并不好。您也可以在变量赋值中调用该函数。

d = addition(a, b) * 3

为此,您需要在ab的位置输入实数。我建议你使用第二个选项。