当前位置:   article > 正文

Python局部变量(含义、作用、生命周期等)

python局部变量

定义:

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

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

注意: 在其他的开发语言中,大多不推荐使用全年变量,因为可变范围太大,导致程序不好维护。

局部变量:

  1. 局部变量是在函数内部定义的变量,只能在函数内部使用
  2. 函数执行完成后,函数内部的局部变量,会被系统回收
  3. 不同的函数,可以定义相同的名字的局部变量,但是彼此之间不会产生影响

局部变量的作用

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

一、局部变量只能在函数内部使用

通过代码来演示一下,在函数内部定义的变量不能在函数外部被使用

  1. def demo1():
  2. # 定义一个局部变量
  3. num = 100
  4. print("在函数demo1中的变量是%d" % num)
  5. # 调用函数
  6. demo1()

以上是没有任何问题的一串代码,执行结果是: 在函数demo1中的变量是100

下面开始尝试一下,能否在函数的外部用这个num变量呢?

 

可以看出,在打印num这个变量的时候PyCharm就已经提示我们代码出错了,然而我们为了进一步验证不能打印出num变量,再看下执行的报错结果,没有定义num这个变量。如下图:

 

 结论:在函数内部定义的变量不能在其他位置使用

再看下在其他函数的内部能否使用num这个变量呢?

 

同样在PyCharm中已经红线提示了有错误,再代用函数demo2运行看看下效果同样报错了,如下图:

 

以上报错信息可以看出,第一个报错信息告诉我们出错在代码的第11行调用函数demo2,第二个报错信息说在代码的第7行在函数demo2中找不到变量num

此时我们注释掉demo2里的代码块,会提示我们缩进代码错误:IndentationError: expected an indented block,此时我们利用pass这个占位符来保证函数体代码结构的完整,此时程序又能正常的运行了。

 

 

二、局部变量的生命周期

定义:所谓生命周期就是变量从创建到被系统回收的过程。

(把创建比作出生,把系统回收比较死亡,生命周期好比一个人从出生到死亡的这一段过程)

局部变量在函数执行时才会被创建,函数执行结束后局部变量被系统回收。

局部变量在生命周期内,可以用来存储函数内部临时使用到的数据。

可以利用在代码中的debugger来看看函数的整个执行过程。首先在函数demo1前打个断点。

 

第3行代码被执行完成之后就可以看到num这个变量了,然后执行到第四行代码完成后这个函数就执行完成了,num变量也被回收了。

 

三、不同函数内的同名局部变量

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

  1. def demo1():
  2. # 定义一个局部变量
  3. num = 100
  4. print("在函数demo1中的变量是%d" % num)
  5. def demo2():
  6. num = 99
  7. print("在函数demo2中的变量是%d" % num)
  8. # 调用函数
  9. demo1()
  10. demo2()

执行结果:

 

以上两个函数中的相同名字的变量num之间没有任何的关系,好比两个班级中各有一个相同的名字的同学一样,他们在各自的班级之间互不干扰影响。

以上是局部变量的全部介绍,后面主要介绍全局变量,这些都属于python基础教程,如果你没有一点编程方面的基础我想这个也是能看得懂的,如果不懂可以私信留言。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/261474?site
推荐阅读
相关标签
  

闽ICP备14008679号