这是我的代码:
def a():
print aa
def b():
aa = 'aaaa'
a()
b()
Run Code Online (Sandbox Code Playgroud)
它显示错误:
Traceback (most recent call last):
File "g.py", line 12, in <module>
b()
File "g.py", line 10, in b
a()
File "g.py", line 6, in a
print aa
NameError: global name 'aa' is not defined
Run Code Online (Sandbox Code Playgroud)
在aa必须在B函数来定义,
我能做什么 ,
谢谢
aa仅在b()的范围内定义.您可以将变量定义拉出函数或将其用作参数.
这应该工作:
def a():
print aa
def b():
global aa
aa = 'aaaa'
a()
b()
Run Code Online (Sandbox Code Playgroud)
当然,这也应该有效:
def a(aa):
print aa
def b():
aa = 'aaaa'
a(aa)
b()
Run Code Online (Sandbox Code Playgroud)