Python - 函数输出?

时间:2010-06-16 11:27:05

标签: python function

我有一个非常基本的问题。

假设我调用一个函数,例如,

def foo():
    x = 'hello world'

如何让函数以这样一种方式返回x,我可以将它用作另一个函数的输入或者在程序体内使用变量?

当我使用return并在另一个函数中调用该变量时,我得到一个NameError。

3 个答案:

答案 0 :(得分:21)

def foo():
    x = 'hello world'
    return x  # return 'hello world' would do, too

foo()
print x    # NameError - x is not defined outside the function

y = foo()
print y    # this works

x = foo()
print x    # this also works, and it's a completely different x than that inside
           # foo()

z = bar(x) # of course, now you can use x as you want

z = bar(foo()) # but you don't have to

答案 1 :(得分:3)

>>> def foo():
    return 'hello world'

>>> x = foo()
>>> x
'hello world'

答案 2 :(得分:1)

您可以使用global语句,然后在不返回值的情况下实现您想要的效果 功能。例如,您可以执行以下操作:

def foo():
    global x 
    x = "hello world"

foo()
print x

以上代码将打印“hello world”。

但请注意,使用“全局”根本不是一个好主意,最好避免使用我的示例中显示的内容。

另请查看有关Python中global语句用法的相关讨论。