变量作用域,返回值作为参数传递

变量作用域指的是变量生效的范围,主要分为两类:局部变量全局变量

 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)

 

posted @ 2022-09-12 23:26  㞢卄BYZ  阅读(40)  评论(0)    收藏  举报