Python局部变量和全局变量global
Python 全局变量 global 局部变量
2023-09-11 14:19:24 时间
当你在函数定义声明变量的时候,它们与函数外具有相同名称的其它变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。
使用局部变量
例子:func_local.py
#!/usr/bin/python
#encoding:utf-8
def func(x):
print 'x is', x
x=2
print 'Changed local x to', x
x=50
func(x)
print 'x is still', x
执行func_local.py
# python func_local.py
x is 50
Changed local x to 2
x is still 50
解析:
在函数中,我们第一次使用x的值的时候,Python使用函数声明的形参的值。
接下来,我们把值2赋给x,x是函数的局部变量。所以,当我们在函数内改变x的时候,在主块中定义的x不受影响。
在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。
使用globe语句
如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而且 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。
你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。
例子:func_global.py
#!/usr/bin/python
#encoding:utf-8
def func():
global x
print 'x is', x
x=2
print 'Changed local x to', x
x=50
func()
print 'Value of x is', x
执行func_global.py
# python func_global.py
x is 50
Changed local x to 2
Value of x is 2
解析:
global语句被用来声明x是全局的--因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x值的时候。
你可以使用同一个global语句指定多个全局变量。例如global x,y,z
相关文章
- python split() 用法
- python 经验:把全局变量放在一个类中
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
- python程序员都在用到5个酷毙的Python工具
- Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
- Python之多线程:python多线程设计之同时执行多个函数命令详细攻略
- Python语言学习之字符串那些事:python和字符串的使用方法之详细攻略
- 《看漫画学Python》1、2版分享,python最佳入门教程,中学生用业余时间都能学会,北大教授看完都这样定义它
- 【python代码】:能在手机上敲 Python 代码几款App
- 基于遗传算法和粒子群优化算法优化LSTM(Python代码实现)
- 18 个 Python 编程坏习惯,一定要抛弃哦
- gc.collect()==>python的强制垃圾收集机制(不建议使用强制回收,因为可能导致错误)
- 【阶段一】Python快速入门01篇:Python基础环境、Python基础概念、字符串常用操作
- 多版本Python共存时pip给指定版本的python安装package的方法
- Python 高级编程之网络编程 SocketServer(七)
- [智慧防疫]Python基于YOLO的新冠社交距离检测系统[完整源码&部署教程]
- Python .py 文件打包成 .exe 文件(Windows平台,python 3.x)