标签:函数 局部变量 print test 100 全局变量 def
1. 函数作用域
局部变量:
函数中定义的变量,不同的函数可以有相同的变量名,它的作用是临时保存函数中使用的数据
def test_1(): a = 100 #局部变量 print(a) def test_2(): a = 300 #局部变量 print(a) test_1() test_2() """ 运行结果: 100 300 """
全局变量
模块级别定义的变量
a = 100 #全局变量 def test_1(): print(a) def test_2(): b = 300 #局部变量 print(a) print(b) test_1() # 运行结果:100 test_2() """ 运行结果: 100 200 """ print(a) # 运行结果:100
全局变量的修改:
不可变类型的全局变量, 是要使用global关键字修改;可变类型的全局变量,不使用global也可以修改
a = 100 #不可变类型 def test_1(): global a a = 1 print(a) test_1() print(a) """ 运行结果: 1 1 """ l = [1,2,3,4] #可变类型 def test_2(): l.append(5) print(l) test_1() print(l) """ 运行结果: [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] """
变量的优先级
局部变量 > 全局变量
a = 100 #全局变量 def test_1(): a = 200 #局部变量 print(a) def test_2(): b = 300 #局部变量 print(a) print(b) test_1() # 运行结果:200 test_2() """ 运行结果: 100 200 """ print(a) # 运行结果:100
全局变量的修改:
不可变类型的全局变量, 是要使用global关键字修改
标签:函数,局部变量,print,test,100,全局变量,def 来源: https://www.cnblogs.com/elsa92/p/15797008.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。