python做中学(一)全局变量的用法
Python 用法 全局变量 中学
2023-09-11 14:17:11 时间
一段时间没有使用python来写代码,就发现以前学习的很多语法都忘了。看来还是当初这方面的项目做的好不够多,没有系统性的运用和学习,导致了很多语法不能顺手拈来。在接下来的这个项目中,
一定要把遇到的一些python知识不熟悉的地方还有遗忘的重新梳理一下,对python要达到灵活运用的境界,不能单纯是能敲代码,要达到学,做,教的三者合一。就是在做中学,学中做,做中教,教中学的
境界。
全局变量的作用域:
一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量
global关键字:
为了解决函数内使用全局变量的问题,python增加了global关键字, 利用它的特性, 可以指定变量的作用域。
global关键字的作用:声明变量var是全局的
实例一:函数内赋值不能改变全局变量值:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 global val 2 val = 10 3 4 def test1(): 5 global val 6 val = 5 7 print('test1 global val:',val) 8 9 def test2(): 10 val = 8 11 print('test2 global val:',val) 12 class Test(): 13 def __init__(self): 14 #global val 15 val = 5 16 #zoo() 17 #xy() 18 def connect(self): 19 print("class in connect global val:",val) 20 if 5 == val: 21 print("global val is:",val) 22 23 if __name__=="__main__": 24 Test().connect()
运行结果:
class in connect global val: 10
可以看出,函数内赋值并不能改变全局变量的值,所以需要global关键字
实例二:全局变量值改变必须要有global关键字:
沈德符
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
global val val = 10 def test1(): global val val = 5 print('test1 global val:',val) def test2(): val = 8 print('test2 global val:',val) class Test(): def __init__(self): #global val val = 5 test1() test2() def connect(self): print("class in connect global val:",val) if 5 == val: print("global val is:",val) if __name__=="__main__": Test().connect()
测试结果:
test1 global val: 5
test2 global val: 8
class in connect global val: 5
global val is: 5
可以看出,全局变量的值改变,必须要有global关键字。不然就被当成了局部变量。这点一定要记好。
相关文章
- python mysql
- python 遍历list并删除部分元素
- python list中append()与extend()用法
- python冒泡排序算法的实现代码
- [Python] Read and Parse Files in Python
- Python语言学习之打印输出那些事:python输出图表和各种吊炸天的字符串或图画、版权声明(如README.md)等之详细攻略
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python:利用python编程实现三维图像绘制展示(六面体旋转、三维球柱状体、下雪场景等)
- python:程序猿的方式在元宵佳节之际,带你设计【东方明珠】动画浪漫烟花秀(python编程利用Tkinter+PIL库)
- Py之pipenv:Python包的管理利器pipenv简介、安装、使用方法详细攻略
- 成功解决AttributeError: 'BasicLSTMCell' object has no attribute '_kernel'+python下划线用法的几种常见用法理解
- 已解决2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and wi
- 不敢说大话了,Python中 print 函数的8种用法还没搞明白
- Python简单图片爬虫
- python 反扒技巧 爬虫失败的原因分析 html的学习 css java html dom bs4 xpath selenium js混淆加密 反混淆 ajaxs
- python中request请求库与BeautifulSoup解析库的用法
- 第20讲:Python列表、元组、字符串使用自定义排序规则