广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python全局变量global关键字详解
  • 283
分享到

Python全局变量global关键字详解

2024-04-02 19:04:59 283人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python中的变量作用域 一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。 全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量

python中的变量作用域

一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。

全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量

那么问题来了, 如果想在函数内使用全局变量,或改变全局变量的值, 应该怎么做呢?

Python全局变量global关键字

为了解决函数内使用全局变量的问题,python增加了global关键字, 利用它的特性, 可以指定变量的作用域。

Python全局变量global关键字的作用:声明变量var是全局的

代码实例

实例1:

函数优先使用局部变量


str = 'global'
def func1():
  str = 'local'
  print(str)
func1()
print(str)

结果:

local

global

实例2:

在没有局部变量的情况下, 使用全局变量


str = 'global'
def func1():
  print(str)
func1()
print(str)

结果:

global

global

实例3:

改变全局变量的值, 通过实例1可以看到, 函数内赋值并不能改变全局变量的值,所以需要global关键字


str = 'global'
def func1():
  global str
  str = 'local'
  print(str)
func1()
print(str)

结果:

local

local

其他用法

你可以使用同一个global语句指定多个全局变量。

例如

global var1, var2, var3

特殊类型

字符串、数字类型是不能被在局部被修改的,除非使用global关键字,但是 列表,字典是可修改,但不能重新赋值,如果需要重新赋值,需要在函数内部使用global定义全局变量

代码实例1:


list = ['global', 'jb51.net']
def func1():
  list.append('www.jb51.net')
  print(list)
func1()
print(list)

结果:

['global', 'jb51.net', 'www.jb51.net']

['global', 'jb51.net', 'www.jb51.net']

发现上面的list并没有使用global但是值却改变了, 说明列表是可以在局部被修改的

代码实例2:


list = ['global', 'jb51.net']
def func1():
  list = ['docs.jb51.net']
  print(list)
func1()
print(list)

结果:

['docs.jb51.net']

['global', 'jb51.net']

局部变量赋值不能改变全局变量的值

代码实例3:


list = ['global', 'jb51.net']
def func1():
  global list
  list = 'docs.jb51.net'
  print(list)
func1()
print(list)

结果:

docs.jb51.net

docs.jb51.net

使用了global关键字后, 变量被重新赋值

本文主要讲解了Python全局变量global关键字的使用方法,更多关于Python全局变量的使用请查看下面的相关链接

--结束END--

本文标题: Python全局变量global关键字详解

本文链接: https://www.lsjlt.com/news/122854.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python全局变量global关键字详解
    Python中的变量作用域 一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。 全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量 ...
    99+
    2022-11-12
  • Python全局变量关键字global怎么使用
    这篇“Python全局变量关键字global怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python全局变量关键字...
    99+
    2023-07-02
  • Python全局变量关键字global的简单使用
    目录简介:案例1:全局无法使用局部变量。案例2:全局变量,任意范围均可使用。案例3:函数内定义的局部变量案例4:函数间global关键字的作用案例5:不同文件模块中的global,注...
    99+
    2022-11-11
  • Python 局部变量global详解
    目录一、作用域二、局部作用域三、全局作用域四、nonlocal作用域1、使用nonlocal2、就近原则3、函数执行顺序4、循环、判断代码块中作用域问题一、作用域 Local:局部作...
    99+
    2022-11-11
  • 详解Node全局变量global模块
    环境:Node v8.2.1; Npm v5.3.0; OS Windows10 在浏览器中我们有window对象用于挂载全局的变量,在Node中我们有global对象可以进行挂载,很多共用的属性就可以挂载...
    99+
    2022-06-04
    详解 模块 全局变量
  • Python nonlocal关键字 与 global 关键字解析
    目录1.nonlocal2.globalpython引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 1.no...
    99+
    2022-11-13
  • Python学习之全局变量与global
    刚学习Python,遇到个问题:为什么有些定义在函数外的变量可以直接被函数使用,有些就不行呢? 如:   count = 0   def change():     count += 1   change() # 报错   L = [] ...
    99+
    2023-01-30
    全局变量 Python global
  • Python 专题六 局部变量、全局变量global、导入模块变量
    定义在函数内的变量有局部作用域,在一个模块中最高级别的变量有全局作用域。本文主要讲述全局变量、局部变量和导入模块变量的方法。 参考:《Python核心编程 (第二版)》 一. 局部变量 声明适用的程序的范围...
    99+
    2022-06-04
    变量 局部 模块
  • python修改全局变量不加global的方法
    这篇“python修改全局变量不加global的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python修改全局变量不...
    99+
    2023-06-29
  • python修改全局变量可以不加global吗?
    以如下代码为例,我们在局部作用域内使用全局变量a,需要使用global关键字进行声明。否则代码会不可用。 a = 100 def fun():     global a     ...
    99+
    2022-11-13
  • Python函数中的全局变量详解
    目录1、什么是全局变量?2、在函数外部定义的变量是全局变量。3、在函数内部定义中添加global关键词后变成全局变量。总结1、什么是全局变量? 在Python中,全局变量指的是可以作...
    99+
    2022-11-12
  • 实例讲解Python中global语句下全局变量的值的修改
    Python的全局变量:int string, list, dic(map) 如果存在global就能够修改它的值。而不管这个global是否是存在于if中,也不管这个if是否能够执行到。 但是,如果没有 ...
    99+
    2022-06-04
    语句 实例 全局变量
  • c++定义全局变量详解
    在C++中定义全局变量是应该尽量在.cpp文件中定义,而不要在.h 文件中 定义,定义好了之后,可以在.h文件中利用extern关键字进行声明。如果在.h文件中定义的话,多层包含可能...
    99+
    2022-11-12
  • Python中关键字nonlocal和global的声明与解析
    一、Python中global与nonlocal 声明 如下代码 a = 10 def foo(): a = 100 执行foo() 结果 a 还是10 函数中对变量的赋值,变量始终绑...
    99+
    2022-06-04
    关键字 声明 Python
  • 解决golang 关于全局变量的坑
    学习golang不久,在定义全局变量的时候遇见了坑。写个小例子,增强记忆。 错误版本 var p int func main() { p, err := test(4) if...
    99+
    2022-11-12
  • C语言基础全局变量与局部变量教程详解
    目录一:局部变量与全局变量1.1:局部变量1.2:全局变量1.3:代码解释1.4:const修饰的变量的修改二:静态局部变量与静态全局变量2.1:static关键字2.2:静态局部变...
    99+
    2022-11-12
  • 从局部变量和全局变量开始全面解析Python中变量的作用域
    理解全局变量和局部变量 1.定义的函数内部的变量名如果是第一次出现, 且在=符号前,那么就可以认为是被定义为局部变量。在这种情况下,不论全局变量中是否用到该变量名,函数中使用的都是局部变量。例如: ...
    99+
    2022-06-04
    变量 局部 全局变量
  • 深入了解python全局变量,局部变量和命名空间
    目录函数中的全局和局部变量嵌套函数中的全局变量非局部变量Python 使用全局和局部变量的方式是特立独行的。虽然在许多或大多数其他编程语言中,如果未另行声明,变量将被视为全局变量,而...
    99+
    2022-11-12
  • 怎么理解python全局变量,局部变量和命名空间
    本篇内容介绍了“怎么理解python全局变量,局部变量和命名空间”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python 使用全局和局部变...
    99+
    2023-06-22
  • Python之33个关键字详解
    一、Python所有关键字查看 import keysword keyword.kwlist ['False','None', 'True','and','as', 'assert','break', 'class','c...
    99+
    2023-01-31
    详解 关键字 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作