局部变量与全局变量
2016-02-24 22:12
141 查看
函数与过程的概念
函数(function):有返回值
过程(procedure):简单、特殊,没有返回值
Python严格来说只有函数,没有过程。
因为Python任何函数都会返回一些东西,有返回值则返回值,没有则返回None,None是一种特殊的值。
函数变量的作用域
局部变量与全局变量
局部变量就是只在函数内有效的变量,在函数外无法调用。
全局变量则在整个文件中有效。
在定义函数过程中可以访问全局变量,但是修改全局变量的值是不行的,因为此时Python会自动创建一个与全局变量名相同的局部变量(shadowing),函数执行完之后全局变量实际并未被改变。
想给在顶层的程序(即未在任何类型的范围如函数或类之中)定义的变量赋值,需要使用global语句告诉Python这个变量是全局的。
局部变量与全局变量的说明还可看下:http://c.biancheng.net/cpp/html/1827.html
函数(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
相关文章推荐
- JavaScript学习笔记(五)
- Spring JTA事务配置JOTM
- Java实现配置加载机制
- 作为程序员在公司不要与和同事说的几个要点
- web小游戏 2048制作(一):网页布局
- Vijos P1199核弹危机
- 配置SSH证书登录验证
- Java程序员应该掌握哪些东西?
- Sqrt(x)
- 简单的自定义加载ProgressBar
- javascript数组 添加元素
- Android事件分发机制以及滑动冲突处理
- [译]使用注解处理器生成代码-2 注解处理器
- 时间管理的思考
- synchronized的使用方法
- Python在Windows系统下安装环境的搭建
- Java新手问题集锦汇总
- 欢迎使用CSDN-markdown编辑器
- 一道有关static的题目
- Hive 10、Hive的UDF、UDAF、UDTF