|
1鱼币
代码A:
def outside():
var = 5
def inside():
var = 3 <---- 代码A不报错,请问是因为此处var变量仅仅是与外部变量(var=5)同名的一个内部变量吗?
print(var)
inside()
outside()
代码B:
def outside():
var = 5
def inside():
print(var) <------代码B报错,请问是因为,内部函数不能访问外部变量(var=5)吗?
var = 3
inside()
outside()
代码C:
def outside():
var = 5
def inside():
print(var) <----------- 代码C不报错,请问,为什么此处访问了外部变量(var=5),却没有报错呢?
inside()
outside()
|
最佳答案
查看完整内容
内部函数可以访问外部变量,外部函数不能访问内部变量。
第一个楼主理解正确了
第二个当内部函数运行时,它会先在内部函数找出所有局部变量,因为有var = 3,所以var定义成了局部变量
但赋值在print()后,所以报错
|