如何在其他函数中使用一个函数的变量

时间:2015-09-27 05:41:26

标签: python-3.x

这是python中的小添加程序,但我想在(num1,num2)函数中使用变量insert()到另一个sum()函数如何解决这个问题。

def insert():
    num1 = 2
    num2 = 4
def sum():
    add = num1 + num2
    print(add)
def main():
    sum()
 main()

1 个答案:

答案 0 :(得分:0)

变量num1num2已被定义为insert()函数内的局部变量,因此您不能在使用它自己的命名空间的另一个函数中使用它们。

为了解决这个问题,您可以在insert中返回这些变量,然后将返回的变量作为参数传递给sum函数。

def insert():
    num1 = 2
    num2 = 4
    return num1,num2
a,b=insert()
def sum(num1,num2):
    add = num1 + num2
    print(add)
def main():
    a,b=insert()
    sum(a,b)
main()

请注意,这是一个示例,如果您只想创建一些变量,可以在模块的顶层创建它们。

此外,您可以使用global表达式将变量定义为函数内的全局变量,但这不是一个安全和pythonic,因为返回值并将它们作为参数传递。

def insert():
    global num1
    global num2
    num1 = 2
    num2 = 4

def sum():
    add = num1 + num2
    print(add)
def main():
    sum()
main()
相关问题