Python通过global实现多文件共享全局参数,方法

Python通过global实现多文件共享全局参数

global关键字,全局变量

基础用法

这种用法,不能在其他的py文件中使用,

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

共享参数

  1. 新建glo.py文件(全局变量文件)
def _init(): #初始化
    global  _global_dict
    _global_dict={}
def set_value(key,value):
    #定义一个全局变量
    _global_dict[key]=value
def get_value(key, defValue=None):
    #获得全局变量,不存在则返回默认值
    try:
        return _global_dict[key]
    except KeyError:
        return defValue
  1. glo1.py
import glo
import glo2
glo._init()
glo.set_value('cho','game')
glo2.test() # 输出game 
  1. glo2.py
import glo
def test():
	print(glo.get_value('cho')) 

运行glo1.py,输出game

共享方法

  1. glo.py不变

  2. glo1.py

import glo
import glo2
glo._init()

test = glo2.Test(1)
print('isLosgin:',glo.get_value('isLosgin'))
print(glo.get_value('isLosgin')())
  1. glo2.py
import glo
class Test:
	id = 0
	def __init__(self,id):
		self.id = id
		glo.set_value('isLosgin',self.isLosgin)
	def isLosgin(self):
		print('id',self.id)
		return self.id == 1

运行glo1.py输出

isLosgin: >
id 1
True

你可能感兴趣的:(python,开发语言)