Python全局变量和局部变量相关知识点
知识点一:
#在函数外面定义的变量叫全局变量
num = 100 def AAA():
'''
如果在函数中直接修改全局变量,那么会产生异常
如果真的需要修改,可以在函数中进行声明(前面加入global)
'''
global num
print(num)
num+=2
print(num) def BBB():
print(num) AAA() #输出100和102
#调用函数AAA()后全局变量num的值就真的改变了
BBB() #输出102
知识点二:
'''
如果全局变量是可变类型,比如列表或字典,那么就可以在函数中直接修改;
而对于不可变类型,比如int,是不能直接在函数中修改的
'''
nums = [11,22,33]
info = {"name":"xiaowang","age":24} def test():
print("-"*20)
# nums.append(44) #列表可以在函数中修改
# print(nums)
info['name'] = 'xiaoli'
print(info) def test2():
print("="*20)
# print(nums)
print(info) test()
test2()
#上述两次打印结果一样
知识点三:
#为了防止和局部变量名字相同,所以在全局变量前加一个g
# g_a = 200
a = 200 def test3():
print("-"*20)
#a+=1 #这种情况下是直接修改a的值,但由于函数外的a是全局变量不能在函数内修改,所以会报错 a = 100
'''
注意一:这里可能是重新定义一个新的变量a,也有可能是修改a的值,但由于全局
变量a不能修改,所以此处是重新定义了一个a;
注意二:如果一个局部变量和全局变量名字相同,那么用的是局部变量
'''
print(a) def test4():
print("="*20)
print(a)
#print(b) # name 'b' is not defined
#变量的使用顺序是:局部变量->全局变量,如果两者都没有,程序就会报错 test3() #打印100
test4() #打印200
Python全局变量和局部变量相关知识点的更多相关文章
- Python之路Python全局变量与局部变量、函数多层嵌套、函数递归
		Python之路Python全局变量与局部变量.函数多层嵌套.函数递归 一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局 ... 
- day15 Python全局变量和局部变量
		在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变 ... 
- Python之路(第六篇)Python全局变量与局部变量、函数多层嵌套、函数递归
		一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 全局变量没有任何缩进,在任何位置都可 ... 
- Python全局变量和局部变量
		全局变量和局部变量 定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域. 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问.调用函数时,所有在函数内声明的变量 ... 
- Python 全局变量和局部变量,global 和 nonlocal关键字
		全局变量和局部变量 全局变量:定义在函数外的变量 局部变量:定义在函数内部变量 获取变量值时候先获取当前作用域变量名称和变量值,如果没找到到上一层作用域招变量的值,在没有就报错,先获 ... 
- python 全局变量与局部变量 垃圾回收机制
		掌握L.E.G.B(作用域) 掌握局部作用域修改全局变量 步骤- 1.命名空间和作用域 命名空间:变量名称与值的映射关系作用域:变量作用的区域,即范围. 注意:class/def/模块会产生作用域:分 ... 
- python 全局变量与局部变量
		一.引用 使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字.如: #! /usr/bin/python a = 1 b = [2, 3] def func(): if ... 
- PYTHON 全局变量和局部变量
		#局部变量,只能调用函数体内的变量 def fun(): a = 234 print(a) #全局变量,在函数体外声明,在函数体内都可调用 b = 'gyc' def fun(): a = 234 p ... 
- Python—全局变量、局部变量、匿名函数
		局部变量和全局变量 college1 = 'JMU' #全局变量 def change_name(name): college1 = 'LiGong' #局部变量,此函数是其作用域 # global ... 
随机推荐
- 微信小程序【获取验证码】倒计时效果
			最近开始接触微信小程序,会记录一些相关的小功能——例如这次是点击[获取验证码]按钮出现的倒计时效果. 原文: http://blog.csdn.net/Wu_shuxuan/article/detai ... 
- centos 6 部署Nodejs
			线上环境需要一套nodjs,没话说,那就部署唠. 一.下载编译包.解压.软链 nodjs历史版本连接:https://nodejs.org/zh-cn/download/releases/ cd /u ... 
- 题解 P5065 【[Ynoi2014]不归之人与望眼欲穿的人们】
			出现了一篇跑得炒鸡慢的题解! noteskey 无 fuck 说,好像就是整个数列分块然后合并区间...什么的吧 对于每块内部就是算一下前缀信息.后缀信息(就是以 第一个点/最后一个点 为一个边界,不 ... 
- 关于Activity生命周期的总结
			1.Acitivity的四种状态 (1)运行:位于Activity栈顶,用户可见,可获得焦点. (2)暂停:如果一个活动被另一个非全屏的活动所覆盖(比如一个Dialog),那么该活动就失去了焦点,它将 ... 
- Vue项目中使用webpack配置了别名,引入的时候报错
			chainWebpack(config) { config.resolve.alias .set('@', resolve('src')) .set('assets', resolve('src/as ... 
- Python 八皇后问题
			八皇后问题描述:在一个8✖️8的棋盘上,任意摆放8个棋子,要求任意两个棋子不能在同一行,同一列,同一斜线上,问有多少种解法. 规则分析: 任意两个棋子不能在同一行比较好办,设置一个队列,队列里的每个元 ... 
- 十三.iptabled配置
			期中集群架构-第十三章-iptables防火墙网路安全实践配置========================================= 01:iptables防火墙网路安全前言介绍 学好ip ... 
- sort和priority_queue的比较函数总结
			对于priority_queue来说,,比较函数为(如果不是结构体,直接int,优先队列默认的是值越大优先级越大): struct st { string str; int pr, value,mar ... 
- .net core web api 与httpclient发送和接收文件及数据
			客户端 HttpClient var url = $"https://localhost:44323/api/values/posttest?resource_source=yangwwme ... 
- 在Pycharm中自动添加时间日期作者等信息
			1.按照下面路径以此打开File→→Settings→→Editor→→File and code Templates 右侧找到Python Script,如下图 2.设置相关代码如下 ##!/usr ... 
