Python全局变量关键字global的简单使用

 更新时间:2022年06月22日 11:43:10   作者:玩转测试开发  
python中global关键字主要作用是声明变量的作用域,下面这篇文章主要给大家介绍了关于Python全局变量关键字global的简单使用,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

简介:

1、global是Python中的全局变量关键字。

2、全局变量是编程术语中的一种,源自于变量之分。

3、变量分为局部与全局,局部变量又可称之为内部变量。

4、由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。

5、全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。

6、global关键字的作用是可以使得一个局部变量为全局变量。

案例1:全局无法使用局部变量。

# -*- coding: utf-8 -*-
def test1():
    # 局部变量 local
    local_var = "a"
    print(local_var)

# 全局无法使用局部变量,只有对应的局部作用域可用
# print(local_var)  # NameError: name 'local_var' is not defined

案例2:全局变量,任意范围均可使用。

global_var = 1


def test2():
    # 函数内使用全局变量
    print(global_var + 1)

    def inner():
        # 嵌套函数内使用全局变量
        print(global_var + 2)

    return global_var + 3  # 返回值内使用全局变量


# 函数外使用全局变量。
print(global_var)

案例3:函数内定义的局部变量

def test3():
    # 函数内变量,但对于下级函数就是全局变量,对于外部来说就是局部变量
    func_var = 1
    def inner():
        print(func_var)
        return func_var
    return inner()

test3()

案例4:函数间global关键字的作用

def test4():
    # global关键字作用
    global func_var
    func_var = 2

    # 调用test5可以打印 func_var,去掉global会报错。
    test5()
    print(test5.__globals__)


def test5():
    print(func_var)


test4()

案例5:不同文件模块中的global,注意test6, test7为不同文件。

# a.py
def test6():
    # global关键字作用
    global func_var
    func_var = 3
    

# b.py
from a import test6


def test7():
    print(test6.__globals__["func_var"])


# 不先执行test6的情况下会抛出异常。KeyError: 'func_var'
test7()  # KeyError: 'func_var'

案例6:不同文件模块中的global,注意test6, test7为不同文件。

# a.py
def test6():
    # global关键字作用
    global func_var
    func_var = 4
    

# b.py
from a import test6


def test7():
    print(test6.__globals__["func_var"])


# 先执行test6的情况下,test可以使用 func_var
test6()
test7()  # 4

附:用global声明多个变量需要用逗号分

num = 0
def cc():
 global count,num
 count = count+1
 num = num+2
 print(count,num)
cc()
3 2
# 可以函数中的global声明能够修改全局变量
num
Out[24]: 2
# 
count
Out[25]: 3
在使用全局变量的场合,也可用类变量代替
class C:
 count = 3
def cc():
 count = C.count+1
 print(count)
cc()
4

结论:

1、只导入包,global定义的全局变量没有被加到globals里面。

2、执行global所在的对应函数,global定义的函数内会存入对应变量,其他函数内则不会存入。

到此这篇关于Python全局变量关键字global的简单使用的文章就介绍到这了,更多相关Python全局变量关键字global内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python的爬虫包Beautiful Soup中用正则表达式来搜索

    Python的爬虫包Beautiful Soup中用正则表达式来搜索

    这篇文章主要介绍了Python的爬虫包Beautiful Soup中用正则表达式来搜索的技巧,包括使用正则表达式去搜索多种可能的关键字以及查找属性值未知的标签等,需要的朋友可以参考下
    2016-01-01
  • Python multiprocessing 进程间通信方式实现

    Python multiprocessing 进程间通信方式实现

    本文主要介绍了Python multiprocessing 进程间通信方式实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 一文带你了解Python协程的详细解释以及例子

    一文带你了解Python协程的详细解释以及例子

    协程不是计算机提供的,计算机只提供:进程、线程。协程是人工创造的一种用户态切换的微进程,使用一个线程去来回切换多个进程,本文就来通过一些示例和大家详细聊聊Python中的协程吧
    2023-03-03
  • Python中的二叉树查找算法模块使用指南

    Python中的二叉树查找算法模块使用指南

    二叉树查找算法,在开发实践中,会经常用到。按照惯例,对于这么一个常用的东西,Python一定会提供轮子的。是的,python就是这样,一定会让开发者省心,降低开发者的工作压力。
    2014-07-07
  • Python爬虫实现搭建代理ip池

    Python爬虫实现搭建代理ip池

    这篇文章主要介绍了Python爬虫实现搭建代理ip池,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的工作有所帮助
    2022-06-06
  • Django之创建引擎索引报错及解决详解

    Django之创建引擎索引报错及解决详解

    这篇文章主要介绍了Django之创建引擎索引报错及解决详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python文件右键找不到IDLE打开项解决办法

    Python文件右键找不到IDLE打开项解决办法

    这篇文章主要介绍了Python文件右键找不到IDLE打开项解决办法,本文使用注册表解决了这个问题,需要的朋友可以参考下
    2015-06-06
  • Python实现数通设备端口使用情况监控实例

    Python实现数通设备端口使用情况监控实例

    这篇文章主要介绍了Python实现数通设备端口使用情况监控的方法,涉及Python针对设备监控的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • python openCV获取人脸部分并存储功能

    python openCV获取人脸部分并存储功能

    这篇文章主要为大家详细介绍了python openCV获取人脸部分并存储功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Python使用爬虫猜密码

    Python使用爬虫猜密码

    我们可以通过python 来实现这样一个简单的爬虫猜密码功能。下面就看看如何使用python来实现这样一个功能,对python爬虫猜密码相关知识感兴趣的朋友参考下吧
    2016-02-02

最新评论