Python学习之函数(全局变量和局部变量)
2017-05-18 20:48
603 查看
全局变量和局部变量
全局变量,顾名思义,就是为整个程序块服务的。
局部变量,顾名思义,就是为整个程序中的某一个程序块儿服务的。
示例:
发现,在定义函数add之外的a为外部变量,在定义的函数add内的a是内部变量,函数内部定义的a的作用范围只是在定义的函数体结束就失去意义了,而外部的a依然没有受到影响。
但是这两个变量虽然位置不同,但是两个变量都相互不影响,它们在各自的作用域内实现自己的价值。
思考,该如何定义一个全局变量呢?
在Python中,定义一个全局变量需要使用一个关键字global也就是全局的意思。
来看看文档中对于global的解释:
The
global_stmt ::= “global” identifier (“,” identifier)*
The
current code block. It means that the listed identifiers are to be
interpreted as globals. It would be impossible to assign to a global
variable without
:
解释:“全局”语句是一个适用于整个语句的声明
当前代码块。 这意味着列出的标识符是
为全局变量,它不可能给没有global的表示符分配一个全局变量,尽管自由变量可以引用。
1、将全局变量放在函数外
2、将全局变量放在函数内
经过测试,发现无论变量在函数体内还是在定义的函数外,只要被披上global的衣服,它就是作用与整个代码块儿。
最后,注意,这个全局变量要谨慎使用,用法不当会很容以造成代码阅读混乱!
完成于2017年05 月 18 号
晚上 20:49
全局变量,顾名思义,就是为整个程序块服务的。
局部变量,顾名思义,就是为整个程序中的某一个程序块儿服务的。
示例:
>>> a = 10 >>> def add(a,b): ... a = 5 ... c = a + b ... print "This a: " + str(a)+ " is a inner varible" ... print "---------------------------" ... >>> add(a,3) This a: 5 is a inner varible --------------------------- >>> print a 10 >>> print "This a: " + str(a) + " is a outer varible" This a: 10 is a outer varible >>>
发现,在定义函数add之外的a为外部变量,在定义的函数add内的a是内部变量,函数内部定义的a的作用范围只是在定义的函数体结束就失去意义了,而外部的a依然没有受到影响。
但是这两个变量虽然位置不同,但是两个变量都相互不影响,它们在各自的作用域内实现自己的价值。
思考,该如何定义一个全局变量呢?
在Python中,定义一个全局变量需要使用一个关键字global也就是全局的意思。
来看看文档中对于global的解释:
The
globalstatement
global_stmt ::= “global” identifier (“,” identifier)*
The
globalstatement is a declaration which holds for the entire
current code block. It means that the listed identifiers are to be
interpreted as globals. It would be impossible to assign to a global
variable without
global, although free variables may refer to
:
解释:“全局”语句是一个适用于整个语句的声明
当前代码块。 这意味着列出的标识符是
为全局变量,它不可能给没有global的表示符分配一个全局变量,尽管自由变量可以引用。
1、将全局变量放在函数外
>>> global a >>> a = 10 >>> def add(a,b): ... a = 5 ... c = a + b ... print "This a: " + str(a) + " is a inner varible" ... print "----------------------------------------" ... >>> add(a,0) This a: 5 is a inner varible ---------------------------------------- >>> print "This a: " + str(a) + " is a outer varible" This a: 10 is a outer varibl >>>
2、将全局变量放在函数内
>>> x = 4 >>> def sub(y): ... global x ... x = 7 ... z = x * y ... print "This x is : " + str(x) + " is a inner varible !" ... print "------------------------------------------" ... >>> sub(5) This x is : 7 is a inner varible ! ------------------------------------------ >>> print "This x is : " + str(x) + " is a outer varible !" This x is : 7 is a outer varible ! >>>
经过测试,发现无论变量在函数体内还是在定义的函数外,只要被披上global的衣服,它就是作用与整个代码块儿。
最后,注意,这个全局变量要谨慎使用,用法不当会很容以造成代码阅读混乱!
完成于2017年05 月 18 号
晚上 20:49
相关文章推荐
- Python新手学习基础之函数-全局变量和局部变量
- Python新手学习基础之函数-全局变量和局部变量
- Python新手学习基础之函数-全局变量和局部变量
- python 函数的局部变量和全局变量 global
- Python学习之,全局变量和局部变量
- python3函数中的全局变量与局部变量的分析与理解
- python学习——局部变量与全局变量
- Python的全局变量和局部变量详解——locals 和globals两个函数
- Python学习笔记(2)-局部变量与全局变量
- python 学习笔记之 全局变量和局部变量
- Python函数中的局部变量和全局变量
- Python3学习笔记4-函数,全局变量&局部变量,内置函数
- Python3基础 global关键字 使函数的局部变量升格为全局变量
- Python3学习笔记4-函数,全局变量&局部变量,内置函数
- python基础(函数、局部变量、全局变量、文件操作)
- python学习之全局变量与局部变量
- 《零基础入门学习Python》学习过程笔记【020函数的局部变量和全全局变量内部函数和闭包】
- Python3基础 当函数中的局部变量与全局变量同名了,各管各的
- python3--函数(函数,全局变量和局部变量,递归函数)
- 3.8 Python函数中的局部变量和全局变量