变量作用域,返回值作为参数传递
变量作用域指的是变量生效的范围,主要分为两类:局部变量和全局变量
1. 局部变量
所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效
# 定义一个函数,声明一个变量:函数体内部访问,函数提外部访问 def testA(): a = 100 print(a) # 函数体内部访问,访问到a变量 testA() print(a) # 报错,a变量是函数提内部变量,函数提外部无法访问 -- a是一个局部变量
变量a是定义在testA函数内部的变量,在函数外部访问则立即报错。
局部变量作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量。
2. 全局变量
所谓全局变量,指的是在函数体内、外都能生效的变量
# 声明全局变量:函数体内外都能访问 a = 100 def testA(): print(a) def testB(): print(a) testA() testB()
3. 修改全局变量
global关键字声明a是全局变量
# 修改全局变量 a = 100 print(a) def testA(): print(a) def testB(): a = 200 # 修改的是局部变量 print(a) def testC(): global a # 生命修改全局变量中的a a = 200 # 修改的是全局变量 print(a) testA() testB() testC()
4. 多函数执行流程
一般在实际开发过程中,一个程序往往由多个函数组成,并且多个函数共享某些数据。
1.公用全局变量
# 1. 声明全局变量,2. 定义两个函数,3.函数一修改全局变量;函数二访问全局变量 glo_num = 0 def test1(): global glo_num glo_num = 100 def test2(): print(glo_num) print(glo_num) # 0,因为修改的函数没执行 test2() # 0,因为修改的函数没执行 test1() test2() # 100,先调用了函数1 print(glo_num) #100,调用了函数1
2. 返回之作为参数传递
# 1.定义两个函数:2. 函数一有返回值50;函数二把返回值50作为参数传入(定义函数二要有形参 def test1(): return 50 def test2(num): print(num) # 1.保存函数test1的返回值 result = test1() # 2. 将函数返回值所在变量作为参数传递到test2函数 test2(result)

浙公网安备 33010602011771号