Python3 变量作用域
2018-01-31 20:00
453 查看
# 变量的作用域:是指一个变量所产生作用的范围,在哪一个范围内能被解释器识别。
# print(name)
# 直接输出的话会出现这样的一个错误:
# NameError: name 'name' is not defined
# 变量的作用域:全局变量和局部变量
# 一般声明在函数外部的变量,被称为全局变量,作用范围是整个.py文件内,都可以使用,都能被解释器识别到
# 一般声明在函数内部的内部的变量,可以理解为一个局部变量,该变量只能在函数内部使用,超出范围,变量就不能在使用
# 默认情况下,如果全局变量名和局部变量名相同都是name,在函数内部是无法识别到函数外部的全局变量的,而会在函数内部声明一个新的局部变量叫name
# name = '张三'
# def show( ):
# local(局部的) variable(变量)'name' referenced(引用) before(在。。之前) assignment(声明):因为变量在进行引用时,会采用就近原则,看最近声明的变量在哪。而最近声明的变量就是name = '李四', 所以出现了先引用,后声明的错误
## print(name)(当把这三句代码运行时会出现以下错误)
# name = '李四'
# print ('===', name)
# show( )(当不执行##print(name)这句代码)
# 输出的结果是:
# 如果在函数内部,想修改外部的全局变量(可以理解为重新赋一个值),需要使用global
# global的作用:声明一个变量是已经声明好的全局变量,直接使用即可,可以避免声明一个和全局变量重名的局部变量
# global name
# name = '王五'
# print('===', name)
# show( )
# 输出的结果是:
# print(name)
# 直接输出的话会出现这样的一个错误:
# NameError: name 'name' is not defined
# 变量的作用域:全局变量和局部变量
# 一般声明在函数外部的变量,被称为全局变量,作用范围是整个.py文件内,都可以使用,都能被解释器识别到
# 一般声明在函数内部的内部的变量,可以理解为一个局部变量,该变量只能在函数内部使用,超出范围,变量就不能在使用
# 默认情况下,如果全局变量名和局部变量名相同都是name,在函数内部是无法识别到函数外部的全局变量的,而会在函数内部声明一个新的局部变量叫name
# name = '张三'
# def show( ):
# local(局部的) variable(变量)'name' referenced(引用) before(在。。之前) assignment(声明):因为变量在进行引用时,会采用就近原则,看最近声明的变量在哪。而最近声明的变量就是name = '李四', 所以出现了先引用,后声明的错误
## print(name)(当把这三句代码运行时会出现以下错误)
# name = '李四'
# print ('===', name)
# show( )(当不执行##print(name)这句代码)
# 输出的结果是:
# 如果在函数内部,想修改外部的全局变量(可以理解为重新赋一个值),需要使用global
# global的作用:声明一个变量是已经声明好的全局变量,直接使用即可,可以避免声明一个和全局变量重名的局部变量
# global name
# name = '王五'
# print('===', name)
# show( )
# 输出的结果是:
相关文章推荐
- Python中变量的作用域
- Python中变量的作用域(variable scope)
- python 变量作用域
- Python学习之变量的作用域
- Python 的变量作用域和 LEGB 原则
- javascript和python函数中变量作用域的区别
- Python基本语法_变量作用域
- Python变量作用域
- Python_变量的作用域
- python中try结构中变量的作用域
- 再谈python的变量作用域
- Python模块中的变量和函数的作用域
- python 变量作用域
- Python中变量的作用域(variable scope)
- python-类及类内变量作用域
- python变量作用域
- Python变量作用域
- Python 变量作用域
- Python学习之变量的作用域
- python 变量作用域