【python】python跨文件使用全局变量

这篇具有很好参考价值的文章主要介绍了【python】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

如果对您有帮助,点赞+关注

(关注“测试开发自动化” 弓中皓,查看历史文章,更详细的解析说明)文章来源地址https://www.toymoban.com/news/detail-436629.html

到了这里,关于【python】python跨文件使用全局变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python的全局变量、局部变量、类变量、实例变量介绍

    Python 的变量分类 全局变量:模块内、所有函数外、所有class外的变量; 局部变量:函数内的变量,class的方法内且不使用self.修饰的变量; 类变量:class内且不在class的方法内; 实例变量:class的方法内且使用self.修饰的变量。 对于面向过程程序设计涉及: 全局变量:模块中

    2024年02月03日
    浏览(54)
  • Python系列(4)—— 全局变量

    在Python编程中,全局变量是一个重要的概念。全局变量是在函数之外定义的变量,可以在程序的任何地方访问和修改。本文将深入探讨Python中的全局变量,包括其工作原理、使用方法以及注意事项。 全局变量在程序中只有一个实例,可以在程序的任何地方访问和修改。当在函

    2024年01月22日
    浏览(85)
  • python 设置全局变量

    这里我新建了一个utils文件夹,然后在里面新建了g.py文件 通过global来定义一个全局变量,并将该变量初始化为一个空字典.就可以达到设置、获取任意key:value的功能 代码: 导入g模块,执行初始化 哪里需要就在哪里初始化即可.因为我这是在一个django项目里加的,所以放在了apps.py文件

    2024年02月11日
    浏览(53)
  • 【微信小程序】在WXML文件中显示JS文件中全局变量

    我们知道在wxml中可以通过数据绑定的方法来获取到js文件中data里面的数据,并且显示到wxml界面,那么我们该如何在wxml中显示js文件里面的全局变量呢? 在wxml种我们可以显示js代码中data代码段中的变量。 具体的操作是: 1.在js中添加data字段以及相应的格式,并在data字段中创

    2024年02月04日
    浏览(66)
  • Python全局变量和局部变量(超详细,纯干货,保姆级教学)

                            在函数外部定义的变量。所有函数内部都可以使用这个变量。                         在函数内部定义的变量。这个变量只能在定义这个变量的函数内部使用。 定义看起来一愣一愣的,没关系我也是。我将会用实例的方式为你

    2024年02月05日
    浏览(44)
  • Apipost全局变量和环境变量的使用

    什么是全局变量? 全局变量跟环境变量作用域不同。全局变量不受当前环境的影响,只要是在同一个项目下,该变量都会生效。 环境变量和全局变量的调用方法都是一样的 {{变量名}} 全局变量的定义 目前通过脚本定义全局变量。 例如我们在预执行脚本中定义一个全局变量

    2024年02月09日
    浏览(41)
  • C语言编程技巧 全局变量在多个c文件中公用的方法

    在使用C语言编写程序时,经常会遇到这样的情况:我们希望在头文件中定义一个全局变量,并将其包含在两个不同的C文件中,以便这个全局变量可以在这两个文件中共享。举个例子,假设项目文件夹\\\"project\\\"下有三个文件:main.c、common.c和common.h。在这种情况下,我们希望声明

    2024年02月14日
    浏览(40)
  • Postman 使用之全局变量管理

    前言 平常在请求接口的时候,我们不可避免地都会遇到一个参数值在很多地方用到的场景,例如:在登陆后,后续接口请求的请求头中都必须添加一个 token,如果我们写死一个 token 的话,后续重新登陆后/token失效后再去替换这个token是繁琐且没有意义的。 我们完全可以设定

    2024年01月25日
    浏览(38)
  • 微信小程序 使用全局变量

    微信小程序里面有个 app.js ,我们可以在这个里面设置全局变量, 全局变量的定义:  globalData: {         userInfo: null,         tempFilePathslist: []     }  全局变量的获取: 在 app.js 文件中,直接使用,如: var gettempFilePathslist = this.globalData.tempFilePathslist 在 其他非app

    2024年02月02日
    浏览(45)
  • 灵活使用Postman环境变量和全局变量,提高接口测试效率!

     前言: 环境变量和全局变量的概念 环境变量和全局变量的使用方法 1. 定义变量 2. 使用变量 环境变量和全局变量的实例代码

    2024年02月08日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包