变量的作用域是指变量起作用的范围,根据范围作用的大小可分为局部变量和全局变量。

局部变量

定义:在函数定义处的参数和函数内部定义的变量

作用范围:仅在函数内部,函数执行结束,局部变量的生命周期也结束。

全局变量

定义:在函数外定义的变量或函数内部使用global关键字修饰的变量。

作用范围:整个程序运行结束,全局变量的生命周期才结束。

def cal(a,b):
    s=a+b
    print(s)

cal(10,20)
# print(a,b,s) #a,b,s是函数定义处或内部使用的变量,是局部变量,随着函数调用结束而失效


print('*'*50)
a=100
def cal1(x,y):
    return a+x+y
print(a)  # 100 a为全局变量,函数内可以使用它,函数结束后也可以使用,只有整个程序结束后才失效
print(cal1(10,20)) # 130


print('*'*50)
def cal2(x,y):
    a=200  #这里的a是局部变量,当局部变量和全局变量的名称相同时,局部变量的优先级高
    return a+x+y
print(a)  # 100 这里的a是全局变量
print(cal2(10,20)) # 230

print('*'*50)
def cal3(x,y):
    global s  #函数内部定义的变量s,在加上global后就变成了全局变量了
    s=300  # 定义全局变量和赋值必须分开,不能放在一行
    return s+x+y
print(cal3(10,20)) #330
print(s) # 300 只有调用上面那个函数后才能使用

 

 posted on 2023-12-17 22:05  会飞的金鱼  阅读(48)  评论(0)    收藏  举报