新闻动态

模块:Python中怎么用全局变量,有什么技巧

发布日期:2022-07-07 20:26 | 文章来源:公众号

【内容声明】文章部分内容来源网络,不代表本站观点!若有了解“Python中怎么用全局变量,有什么技巧”等有关服务器、云主机租用、托管、配置、价格问题,请立即咨询YINGSOO客服,享受1v1贴心服务!

【爆款产品】澳大利亚云服务器促销 | IPLC国际专线 | 日本云服务器促销

【热门文章】国外云服务器如何防止DDOS?

这篇文章主要讲解了“Python中怎么用全局变量,有什么技巧”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。

尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖。

Python 中global关键字可以定义一个变量为全局变量,但是这个仅限于在一个模块(py文件)中调用全局变量:

我们知道Python使用变量的时候是可以直接使用的,x=[] ,y=2,z="123",而不需要先定义(var x; var y=2;var z='222'),这样的话,在函数内部就无法操作外部的变量了,因为它总会认为你是在定义一个新变量并且赋值,不过global就可以解决这个问题。

global 的基础用法:

x = 6def func():    global x #定义外部的x    x = 1func()print (x)#输出1

这个时候,即使你在另外一个py文件 再次使用global x也是无法访问到的,因为在这个py模块中并没有一个叫做x的变量,于是就会报错 未定义。

那么我们怎么办?

借鉴global 关键字的思路,既然在一个文件里面可以生效的话,那么我们就专门为全局变量定义一个“全局变量管理模块”就好了

新建一个py文件,文件名是:gol.py,具体代码:

# -*- coding: utf-8 -*-def _init():#初始化    global _global_dict    _global_dict = {}def set_value(key,value):    """ 定义一个全局变量 """    _global_dict[key] = valuedef get_value(key,defValue=None):""" 获得一个全局变量,不存在则返回默认值 """    try:        return _global_dict[key]    except KeyError:

相信如果你看懂了就应该知道思路了,利用global的单独文件全局性,从而可以定义在一个文件中的全局变量,然后这个单个文件的全局变量可以保存多个文件的共同全局变量

操作的时候,以Key对Value 的方法操作,我相信大家都懂。

# -*- coding:utf-8 -*-import golgol._init()#先必须在主模块初始化(只在Main模块需要一次即可)#定义跨模块全局变量gol.set_value('uuid',uuid)gol.set_value('token',token)

然后其他的任何文件只需要导入即可使用:

# -*- coding: utf-8 -*-import gol#不需要再初始化了ROOT = gol.get_value('uuid')CODE = gol.get_value('token')

就这样就可以实现跨文件的全局变量使用;

并且还有一个简单但是强大的全局变量管理器,你可以自己添油加醋,实现一些比如全局变量禁止直接修改,禁止修改某些只可读的全局变量等等。


这篇关于“Python中怎么用全局变量,有什么技巧”的文章就介绍到这了,更多相关的内容,欢迎关注本公司,小编将为大家输出更多高质量的实用文章!

YINGSOO,国际数据中心综合服务提供商,专注高品质、企业级海外服务器租用/托管服务,拥有ISP牌照、实体公司、专业团队、9年经验,7x24x365全天候服务,3天免费试用,品质保障、值得信赖!全国统一服务热线:400-630-3752

热搜词条:【香港机柜】【teams视频带宽占用】【香港物理服务器租用】【上海机柜租用】【广西电信云机房】【ucloud服务器垃圾】【Gpu的租用】【日本代理服务器】【江苏镇江服务器】【服务器集群】【chia钱包同步不了怎么】【境外服务器能被百度收录吗】【日本vps云服务器哪个好】【高防cdn香港节点】【区块链技术展望】【国外主机评测】【北斗定位数据中心】【chia多线程软件】【日本樱花云服务器免费网站】【国外vps做网站】【日本樱花云服务器网站推荐】【如何查询mass文件是否激活】【免费图片服务器】【拨号服务器开启代理】【个人和企业服务器买】【vps服务器租用】【美国高防服务器】【私有云 高带宽】【服务器如何安装centos7】【国外域名百度会收录嘛

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部