为什么这不起作用? 这需要做些什么?
call = 'Duster'
def text(call):
print(call)
text()
答案 0 :(得分:4)
您的函数中的调用和函数外的调用是完全独立的变量。你必须通过参数列表传递信息。
call = 'Duster'
def text(call):
print(call)
text(call)
实际上,你可以使用全局变量,但请避免使用它们。
为了更好地说明这一点,请将主程序的行移到一起并更改名称:
def text(phrase):
print(phrase)
name = 'Duster'
text(name)
此外,两行的主程序可能只有一行:
text('Duster')
答案 1 :(得分:1)
它不起作用,因为由于作用域,名为call
的参数优先于名为call
的变量。
您可以使用您的代码并仅更改最后一行
来完成此工作text(call)
或者您可以直接使用变量而不是参数
call = 'Duster'
def text():
print(call)
text()