我有一个非常基本的问题。Python - 从函数输出?
假设我调用一个函数,例如,
def foo():
x = 'hello world'
如何获得的功能以这样的方式,我可以用它作为输入其他功能或体内使用的变量返回X一个程序?
当我使用收益和其他功能我得到一个NameError中调用该变量。
我有一个非常基本的问题。Python - 从函数输出?
假设我调用一个函数,例如,
def foo():
x = 'hello world'
如何获得的功能以这样的方式,我可以用它作为输入其他功能或体内使用的变量返回X一个程序?
当我使用收益和其他功能我得到一个NameError中调用该变量。
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
你忘记了一个“return x的例子,以便我可以使用它作为输入另一个功能”,这是最容易做这样的酒吧(富())' – 2010-06-17 00:53:30
@Evan鲽鱼:好一点,谢谢。我编辑了我的答案。 – 2010-06-17 05:17:43
>>> def foo():
return 'hello world'
>>> x = foo()
>>> x
'hello world'
您可以使用global
语句,然后实现你想要什么,而不从 函数返回值。例如,您可以执行以下操作:
def foo():
global x
x = "hello world"
foo()
print x
上述代码将打印出“hello world”。
但是请警告说,“全球性”的使用是根本不是一个好主意,这是更好地避免了在我的例子显示使用。
还要检查大约在Python global语句使用此相关的讨论。
从技术上讲,这是Seafoid的问题的解决方案,但pythonically,这是最坏的情况,方案(因为你已经指出)。 – 2010-06-16 12:20:53
我真的推荐你在这里阅读python教程:http://docs.python.org/tutorial/index.html – 2010-06-16 12:09:53