python跨文件使用全局变量的实现

 更新时间:2023年03月01日 15:27:38   作者:米码收割机  
本文主要介绍了python跨文件使用全局变量的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

跨文件使用全局变量

有多个py文件同时使用一个全局变量时,那应该如何使跨文件,用这个全局变量呢?

1. 错误示范

file1.py代码如下:

num = 1             # 在file1中定义全局变量num=1
def add_value():
    global num
    num += 100

file2.py代码如下:

from file1 import * 

def sub_value():
    global num
    num -= 10

add_value()   # 在file2中执行file1中的add_value函数
sub_value()   # 执行sub_value函数
print(num)    # 打印结果:-9

很多同学认为应该打印92,即:1+100-10 = 91。但是实际只打印了-9,也就说明,file2.py中执行的add_value并没有让全局变量num发生变化。

那么,如何让num变为真正的全局变量呢?

2. 正确示范

首先,我们单独定义一个glob.py文件

def _init():  # 初始化
    global _global_num
    _global_num = [1]        # 定义一个列表存放全局变量的初始值

def add_num(num):            # 为全局变量执行加法
    _global_num[0] += num

def sub_num(num):            # 为全局变量执行减法
    _global_num[0] -= num

def get_all():               # 取出全局变量的值
    return _global_num[0]

其次,file1.py文件代码如下:

import glob

glob._init()           # 必须在file1.py中初始化全局变量

def add_value(num):
    glob.add_num(num)

最后,file2.py文件代码如下:

import glob
from file1 import *

def sub_value(num):
    glob.sub_num(num)

add_value(100)
sub_value(10)
print(glob.get_all())    # 运行结果:91

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

相关文章

  • python3如何去除字符串中的特殊字符

    python3如何去除字符串中的特殊字符

    这篇文章主要介绍了python3如何去除字符串中的特殊字符,在平时处理字符串的时候,经常会遇到字符串中夹杂着我们不希望看到的特殊字符,那么如何处理这些特殊字符呢,今天就跟着小编来看看吧
    2023-04-04
  • python线程启动的四种方式总结

    python线程启动的四种方式总结

    这篇文章主要给大家介绍了关于python线程启动的四种方式,线程可以完成一定任务,可以和其它线程共享父进程的共享变量和部分环境,相互协作来完成任务,需要的朋友可以参考下
    2024-01-01
  • 学会使用Python Configparser处理ini文件模块

    学会使用Python Configparser处理ini文件模块

    这篇文章主要为大家介绍了使用Python Configparser处理ini文件模块的学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python实现udp传输图片功能

    python实现udp传输图片功能

    这篇文章主要为大家详细介绍了python实现udp传输图片功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 浅谈pandas.cut与pandas.qcut的使用方法及区别

    浅谈pandas.cut与pandas.qcut的使用方法及区别

    这篇文章主要介绍了浅谈pandas.cut与pandas.qcut的使用方法及区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 一篇文章带你了解python迭代器和生成器

    一篇文章带你了解python迭代器和生成器

    这篇文章主要介绍了Python中的迭代器和生成器,涉及到Python中很多重要的特性,需要的朋友可以参考下,希望能够给你带来帮助
    2021-08-08
  • python实现修改xml文件内容

    python实现修改xml文件内容

    这篇文章主要介绍了python实现修改xml文件内容,XML 指可扩展标记语言,是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的
    2022-07-07
  • PyTorch张量拼接、切分、索引的实现

    PyTorch张量拼接、切分、索引的实现

    在学习深度学习的过程中,遇到的第一个概念就是张量,张量在pytorch中的计算十分重要,本文主要介绍了PyTorch张量拼接、切分、索引的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • python对Excel按条件进行内容补充(推荐)

    python对Excel按条件进行内容补充(推荐)

    这篇文章主要介绍了python对Excel按条件进行内容补充的相关知识,非常不错,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Python实现的爬取百度文库功能示例

    Python实现的爬取百度文库功能示例

    这篇文章主要介绍了Python实现的爬取百度文库功能,结合实例形式分析了Python针对百度文库的爬取、编码转换、文件保存等相关操作技巧,需要的朋友可以参考下
    2019-02-02

最新评论