首页 > 解决方案 > 如何将所有全局变量导入函数 - Python

问题描述

我正在尝试将所有全局变量导入多个函数,如果我可以调用这样的函数会很棒:

def importGlobals():
    global name, version, edition, fullName, method, printSize, printed, oldPrint, print

像这样

def myFunction():
    importGlobals()
    print(name) # name is a global variable

importGlobals除了将内部复制到我需要全部使用它们的每个函数之外,还有什么方法可以做到这一点?上述解决方案不起作用......这个也不起作用:

def importGlobals():
    global name, version, edition, fullName, method, printSize, printed, oldPrint, print

def myFunction():
    print(name)

importGlobals()
myFunction()

任何帮助将不胜感激。

标签: pythonvariablesglobal-variables

解决方案


正如我在评论中所说,访问变量的另一种方法是在单独的 py 文件中实现它们,并将它们导入到您要访问它们的文件中,如下所示;

主文件

import global_variables

def myFunction():
    print(global_variables.name)
    global_variables.name = "David"
    print(global_variables.name)

def myOtherFunction():
    print(global_variables.name)
    global_variables.name = "Aaron"
    print(global_variables.name)

myFunction()
myOtherFunction()

global_variables.py

# you can use any type for your variables and still access them in another module

name = "John"
version = {"Version":1.0} # access version by global_variables.version["Version"]
edition = ["Edition1"]  # access edition by global_variables.edition[0]
fullName = "John Smith"
value = 5.33

输出:

John
David
David
Aaron

推荐阅读