def getpoint():
x = 10
y = 20
return x,y
x,y = getpoint()
print (x,y)
函数内部的x,y和函数外面的x,y是同一组变量吗?
不同的变量,只不过名字恰好相同而已!
变量的作用域!一个变量名的有效范围是一定的!只在一个固定的区域内生效
函数内部的变量名,只能在函数内部生效出了函数,就无效了!
如上图所示,函数内部变量的作用域只是在函数内部,如果想在函数外面去访问函数内部对变量的赋值就必须在定义对应的变量。
函数内部和函数外部是可以使用同名的变量,虽然变量名相同,但是是不同的变量。
如上图所示,全局变量是在整个程序中都生效的,但是局部变量只是在函数内部有效的,
但是在函数内部也是可以使用全局变量的
如上图所示。是在函数内部没有关于相应变量的定义的时候就回去寻找全局变量中有没有关于相应的变量的定义
在函数里尝试读取全局变量,是可以的,当函数中尝试访问某个变量的时候,会先尝试在局部变量中查找,如果找到,就直接访问,如果没找到,就会往上一级作用域中进行查找。对于test函数来说再往上一级作用域。就是全局作用域了
如上图所示,如果想修改某个全局变量的值就先使用global关键字先声明一下!
if,else,while,for这些关键字也会引入“代码块”但是这些代码块不会对变量的作用域产生影响!
在上述语句代码块内部定义的变量,可以在外面被访问
如果想访问函数内部变量的值就需要使用return 语句把相应的值返回出去,再用一个变量去接收,然后才能进行使用。