Python-全局变量与局部变量

278 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1. 局部变量和全局变量

局部变量是在函数内部定义的变量,只能在函数内部使用

全局变量是在函数外部定义的变量(没有定义在某一个函数内),所有函数内部都可以使用这个变量

提醒:在其他的开发语言中,大多不推荐使用全局变量(因为可变范围太大,导致程序不好维护)

2. 局部变量

局部变量是在函数内部定义的变量,只能在函数内部使用

函数执行结束后,函数内部的局部变量,会被系统回收

不同的函数,可以定义相同的名字的局部变量,但是各用各的不会产生影响

作用:在函数内部使用,临时保存函数内部需要使用的数据

局部变量的生命周期:

  • 所谓生命周期就是变量从被创建被系统回收的过程
  • 局部变量在函数执行时才会被创建
  • 函数执行结束后局部变量被系统回收
  • 局部变量在生命周期内,可以用来存储函数内部临时使用到的数据

3. 全局变量

全局变量是在函数外部定义的变量,所有函数内部都可以使用这个变量

在函数内部,可以通过全局变量的引用获取对应的数据

但是,不允许直接修改全局变量的引用--使用赋值语句修改全局变量的值

# 全局变量:在函数外部定义,但是在函数内部能够访问
num = 10


def demo1():
    print("demo1 ==> %d" % num)


def demo2():
    print("demo2 ==> %d" % num)


demo1()
demo2()

运行结果如下图所示:在函数外部定义的变量,其他函数内部都可以访问到外部定义的变量。

在函数内部如果想使用一个变量,Python解释器首先在函数内部查找是否有这个局部变量。如果有就使用,如果没有找到同名的局部变量,才会向外查找。

在函数内部使用赋值语句,只会在函数内部定义一个局部变量,不会改变全局变量的值。

image.png