您的位置:首页 > 其它

局部变量与全局变量

2016-02-24 22:12 141 查看
函数与过程的概念

函数(function):有返回值

过程(procedure):简单、特殊,没有返回值

Python严格来说只有函数,没有过程。

因为Python任何函数都会返回一些东西,有返回值则返回值,没有则返回None,None是一种特殊的值。

函数变量的作用域

局部变量与全局变量

局部变量就是只在函数内有效的变量,在函数外无法调用。

全局变量则在整个文件中有效。

在定义函数过程中可以访问全局变量,但是修改全局变量的值是不行的,因为此时Python会自动创建一个与全局变量名相同的局部变量(shadowing),函数执行完之后全局变量实际并未被改变。

>>> x = 50
>>> def func(x):
print('x等于',x)
x =2
print('局部变量x改变为',x)

>>> func(x)
x等于 50
局部变量x改变为 2
>>> print('x一直是',x)
x一直是 50


想给在顶层的程序(即未在任何类型的范围如函数或类之中)定义的变量赋值,需要使用global语句告诉Python这个变量是全局的。

>>>x = 50
>>> def func():
global x    #此处声明x为全局变量
print('x的值是',x)
x = 2
print('全局变量x的值改为',x)

>>> func()
x的值是 50
全局变量x的值改为 2
>>> print('x的值是',x)
x的值是 2


  

局部变量与全局变量的说明还可看下:http://c.biancheng.net/cpp/html/1827.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: