美文网首页Python进阶
Python变量作用域

Python变量作用域

作者: 技术老男孩 | 来源:发表于2023-01-02 09:39 被阅读0次

一、变量作用域:

  • 变量作用域分为:全局、局部
  • 变量作用域满足就近原则(局部->全局->内建模块builtins.py->报错)
  • 全局变量:函数外部定义的变量,作用范围:函数内和外
  • 局部变量:函数内部定义的变量,作用范围:函数内

二、全局变量:

  • 标识符的作用域是定义为其声明在程序里的可应用范围,也就是变量的可见性
  • 在一个模块中最高级别的变量有全局作用域
  • 全局变量的一个特征是除非被删除掉,否则他们会存活到脚本运行结束,且对于所有的函数,他们的值都是可以被访问的
>>> x = 10          # 定义全局变量x
>>> def func1():        # 定义函数func1(),函数内部可以直接使用变量x
...     print(x)
... 
>>> func1()     #调用函数func1(),结果为10

三、局部变量:

  • 局部变量只是暂时的存在,仅仅只依赖于定义他们的函数现阶段是否处于活动
  • 当一个函数调用出现时,其局部变量就进入声明它们的作用域。在那一刻,一个新的局部变量名为那个对象创建了
  • 一旦函数完成,框架被释放,变量将会离开作用域
>>> def func2():        #定义函数func2(), 其中的变量a为局部变量,只在函数内部有效
...     a = 10
...     print(a)
... 
>>> def func3():        #定义函数func2(), 其中的变量a为局部变量,只在函数内部有效
...     a = 'hello'
...     print(a)
... 
>>> func2()         #调用函数func2(),结果为10
>>> func3()         #调用函数func3(), 结果为hello
>>> a       #查看a的值,没有被定义,函数内部的a为局部变量,只在该函数内部有效

四、关键词global:

  • 可以在函数内修改全局变量的值
  • 使用global声明变量:global "变量"
>>> x = 100     #定义全局变量x
>>> def func6():        #定义函数func6()
...     global x      #引用全局变量x
...     x = 200       #为全局变量x赋值为200
...     print(x)      #打印变量x的值
... 

>>> func6()     #调用函数func6()
>>> x

相关文章

  • #抬抬小手学Python# Python 之作用域下的 glob

    global 和 nonlocal 作用域 该部分内容涉及 Python 变量作用域相关知识,变量作用域指的是变量...

  • python学习笔记|nonlocal/global

    python中引用变量的顺序为:当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变...

  • 变量作用域

    0. 命名空间 变量作用域1. 变量作用范围:可操作范围2. Python 是静态作用域,变量的作用域源于它在代码...

  • python的作用域

    前言  作用域是程序运行时变量可被访问的范围。 作用域  python变量的作用域很简单,就是LEGB:变量名引用...

  • Python基础重构-1.2数据类型

    1、变量和常量 变量作用域 Python的作用域一共有4种,分别是:L (Local) 局部作用域E (Enclo...

  • Python基础(十四): 函数作用域

    一、基本概念 1、变量的作用域 变量的作用范围: 可操作范围 Python是静态作用域, 也就是说在Python中...

  • Python的闭包与装饰器

    一、python的函数作用域 python的函数作用域的含义,简而言之,即函数执行时变量所在的作用域。在pytho...

  • Python装饰器与闭包!

    闭包是Python装饰器的基础。要理解闭包,先要了解Python中的变量作用域规则。 变量作用域规则 首先,在函数...

  • 第2模块第1章21函数—作用域

    作用域 在Python中函数就是一个作用域,局部变量放置在其作用域中 C Java中作用域{}已经生成,作用域向上...

  • Python变量作用域范围

    关键词: python;作用域; Variable Scope; 1、Python中能够改变变量作用域的代码段是d...

网友评论

    本文标题:Python变量作用域

    本文链接:https://www.haomeiwen.com/subject/gajvqdtx.html