先是上课遇见发现了这个问题,代码见下,不是特别理解为什么第一个代码的函数影响到了外界的Is,但是第二个代码却不影响。所以有两个问题,一是求解释下面两个代码。二是想问问python中的全局变量和局部变量的使用方法和理解,如果有推荐的帖子解释也可以。万分感谢
def insert(x):
Is.append(x)
print(Is,' in insert()')
Is = []
print(Is,'out of insert()')
Is.append(10)
print(Is,'out of insert()')
insert(100)
print(Is,'out of insert()')
def insert(x):
Is = []
Is.append(x)
print(Is,' in insert()')
Is = []
print(Is,'out of insert()')
Is.append(10)
print(Is,'out of insert()')
insert(100)
print(Is,'out of insert()')
因为第一个方法中用到了全局定义的变量IS
第二个方法中,定义了局部变量,用的不是全局的变量IS,而且局部定义的。
当全局变量和局部变量同时存在时,使用的是局部变量。