首页 > 其他分享 >变量作用域

变量作用域

时间:2022-08-23 14:23:10浏览次数:50  
标签:... 变量 作用域 局部变量 fun 全局变量 函数

python中一个变量能够被访问的范围叫做作用域。根据作用域的大小分为:

  • 全局变量
  • 局部变量

全局变量

python是解释型编程语言,解释器在运行一个python程序时会在计算机内存中申请一块内存用来运行这个程序。全局变量在这块内存空间中都可以被访问。

直接顶格定义在函数外面的变量就是全局变量,在程序运行的全过程有效。

局部变量

定义在函数里的变量,就是局部变量,它只在它被定义的函数里起作用,一旦函数执行完毕它就会被销毁。

1660038768156

案例:

>>> a = 1 # 全局变量
>>> def fun():
...     print(a)
>>> fun()
1

1660039377948

  • 定义在函数外面的全局变量,函数里面可以访问到。
>>> def fun():
...     b = 2  # 局部变量
...     print(b)

>>> fun()
>>> print(b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined
  • 定义在函数里的局部变量,函数外面不能访问。

global关键字

有时候需要在函数内部定义全局变量。

使用global关键字可以在函数内部定义全局变量。

案例:

>>> def fun():
...     global a  # 申明 a 是全局变量
...     a = 2
>>> fun()
>>> print(a)
2

标签:...,变量,作用域,局部变量,fun,全局变量,函数
From: https://www.cnblogs.com/superwuchaofan/p/16615970.html

相关文章

  • pydantic 支持Dotenv 文件设置变量
    1.安装pipinstallpydanticpipinstallpydantic[dotenv]注意:安装pipinstallpydantic[dotenv]时会提示nomatchesfound:pydantic[dotenv],zsh会将[],^等这些bas......
  • 减少全局变量的使用?使用构造函数和原型对象公用方法函数?
    把函数挂载到构造函数的原型对象上,可以公用这些函数方法;//使用函数表达式的方法创建一个构造函数constOnlyOne=function(){}//在函数的原型上添......
  • 作用域插槽
    父组件:<template><divclass="app"><tab-control:titles="['衣服','鞋子','裤子']"@tab-item-click="tabItemClick"><templat......
  • Stream流-传统集合的多步变量代码和使用Stream流方式进行过滤
    Stream流说的Stream便容易想到I/OStream而实际上谁规定“流”就一定是Io流呢?在java8中得益于Lambda所带来的函数式编程引入了一个全新的Stream概念用于解决已有集合......
  • PerfView专题 (第八篇):洞察 C# 内存泄漏之寻找静态变量名和GC模式
    一:背景这篇我们来聊一下PerfView在协助WinDbg分析Dump过程中的两个超实用技巧,可能会帮助我们快速定位最后的问题,主要有如下两块:洞察内存泄漏中的静态大集合变量......
  • 关于java变量的学习
    变量的概念内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量是程序中最基本的存储单元  包含变量类型、变量名和存储的值使用变量注意J......
  • mysql使用变量
    定义变量:SELECT@变量名:=值;查看变量:SELECT@变量名;SELECT@A:=124;--定义变量SELECT@A;--查看变量执行结果:123注意:查看变量时,必须先执行定义变量语句SE......
  • 如何在CSS中使用变量
    前言CSS变量(官方称为自定义属性)是用户定义的值,它可以在你的代码库中设置一次并多次使用。它们使管理颜色、字体、大小和动画值变得更加容易,并确保整个web应用的一致性。......
  • 作用域
    变量提升在代码执行之前,会先进行代码的预解析,将var和function声明的变量进行提升,提升为window的属性(全局变量),并将var声明的变量赋值为undefined,var的提升在function之前......
  • 变量
    变量声明在ES6以前我们通常通过var来声明变量。首先要进行变量声明,然后再进行使用varnum=123;//声明变量num,并且赋值为123var声明多个变量vara=10,b=20,c;......