python局部变量和全局变量
局部变量:
当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始;
全局变量:
如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的;
你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。
1、局部变量举例:
a=“abc”
def rep(a):
print (“a is”, a)
a = “nidayede”
print ‘Changed local a to’, a
这里面的a = "nidayede"是局部变量只能作用于函数的局部,只能在这个函数里面有作用,函数外面就是新的变量;
2、全局变量举例:
a=“abc”
b=“bcd”
c=“cde”
def rep(a):
global x,y,z #可以一次调用多个全局变量
print ("a is", a)
a = "nidayede"
print 'Changed local a to', a
独立于函数之外的,被函数调用,这个全局的变量可以被全局的所有函数所调用,用于判断,for循环,返回值等 ;