关于python中的全局变量global
2017-05-14 09:29
351 查看
在python中global的声明代表的是全局变量,今天写了个dame
x=99
#test global
def editglb(isglb=False):
if isglb:
global x
x=123
else:
x=8888
print('now x is',x)
editglb()
print('outside now x is',x)
调用完该函数之后,全局变量x的值被修改成了8888,这就有点出乎我的意料了
本来if条件不满足,就不会进入global x 全局变量的声明语句。这种情况下函数
修改的应该是自己的局部变量。
导致这种情况的原因:可能是编译器在编译的时候,发现x只要有被声明是global类型的,该代码块里的x变量就是global类型。
而不是按照代码的运行逻辑去确定变量的类型
x=99
#test global
def editglb(isglb=False):
if isglb:
global x
x=123
else:
x=8888
print('now x is',x)
editglb()
print('outside now x is',x)
调用完该函数之后,全局变量x的值被修改成了8888,这就有点出乎我的意料了
本来if条件不满足,就不会进入global x 全局变量的声明语句。这种情况下函数
修改的应该是自己的局部变量。
导致这种情况的原因:可能是编译器在编译的时候,发现x只要有被声明是global类型的,该代码块里的x变量就是global类型。
而不是按照代码的运行逻辑去确定变量的类型
相关文章推荐
- Python语法基础——关于全局变量与局部变量
- 飘逸的python - 为什么修改全局的dict变量不用global关键字
- python 局部local和全局global变量
- python中list作为全局变量无需global声明的原因
- Python语法基础——关于全局变量与局部变量
- Python语法基础——关于全局变量与局部变量
- python 局部变量和全局变量 global
- 实例讲解Python中global语句下全局变量的值的修改
- python 局部变量和全局变量 global
- python 局部变量和全局变量 global
- python 局部变量和全局变量 global
- [Python学习] 专题六.局部变量、全局变量global、导入模块变量
- Python基础学习篇——Global全局变量的使用
- python 全局变量global
- python中必须使用global声明全局变量的情况
- Python基础学习篇——Global全局变量的使用
- Python语法基础——关于全局变量与局部变量
- 关于Python中全局变量的使用的调试
- 为什么python在函数中修改"字典型全局变量"不需要global
- python 局部变量和全局变量 global