传递变量简化

时间:2014-03-30 21:02:06

标签: python python-2.7 python-3.x

我正在研究一个项目,但我需要在函数之间传递变量,我不知道如何。我根本不擅长python。我刚开始像一个月前那样学习它。无论如何,我只想知道在函数之间传递变量的最简单方法。

我可以这样做吗?

def a():
    variable1 = 0
    answer = raw_input()
    if answer == "a":
       print "Correct"
       b()

def b():
    #Variable1 should now be here also right?
    a()

2 个答案:

答案 0 :(得分:2)

在您的功能b。

中添加参数
def b(argument1):
   print 'This is function b(), argument1=', argument1

def a():
    # call func b, passing it 42 as an argument
    b(42)

在Python中你可以使用全局变量,但这不是推荐的做事方式。通常应避免使用全局变量。

def b()
    print 'This is function b(), globalVar1=', globalVar1

def a()
    global globalVar1

    globalVar1 = 88

    b()

答案 1 :(得分:1)

在函数之间传递变量的最简单方法是定义接受参数的必要函数。 Check out functions -part in the official tutorial

在您的情况下,您希望将variable1传递给b。如此定义b

def b(var):
     print var
     # Whatever else you want to do..

def a():
    variable1 = 0
    answer = raw_input()
    if answer == "a":
       print "Correct"
       b(variable1)

您的原始代码不起作用,因为函数内的变量是这些函数的本地变量。使用函数参数是执行所需操作的正确方法。