我具有使用返回变量的函数。
我如何在这样的主要函数中称呼它们:
text = 'a'
def a(text):
text = x
return x
def b(x):
x = z
return z
def main():
# What do I put here to call function a and b?
main()
我如何称呼它们
您已经知道如何打电话;(
def main():
...
main()
所以我认为您对:
感到困惑def a(text):
text = x
return x
x
未在a
中定义,也不由argument
传递给它。但这没关系。在Python中,所有定义的外部功能的变量仍然可见。唯一的例外是函数参数与这些变量之一具有相同的名称。然后参数将优先。
这种机制称为闭合。函数在定义函数时已经在范围中已经存在的一些变量关闭。
您可以在这里进一步了解:https://www.learnpython.org/en/closures
text = 'a'
def a(text):
text = x
return x
def b(x):
x = z
return z
def main():
x = a(text)
z = b(x)
main()
这可能是您想要的
尚不清楚您要实现什么。您在函数a
中使用变量x
和函数b
中的变量z
,而无需定义这两个变量。
此外,您正在函数a
中设置变量text
,而无需使用语句global
捕获它,请在此处查找更多信息。
和全球变量被认为是不良实践。