从导入的modu访问“main”模块函数和变量

2024-04-24 03:12:16 发布

您现在位置:Python中文网/ 问答频道 /正文

你知道吗主.py你知道吗

import try_modules
cats = 2
try_modules.printCats()

试试看_模块.py你知道吗

def printCats():
    global cats
    print cats

这是一个错误。从主模块到导入模块中使用“伪全局”变量的正确方法是什么?你知道吗


Tags: 模块方法pyimportmodulesdef错误全局
2条回答

你的主.py不知道变量cats属于哪个模块。使用

try_modules.cats = 2

或者修改你的导入

from try_modules import cats

如果您有这样的要求,这通常是一个糟糕的设计,但您可以:

 import try_modules
 try_modules.cats = 2
 try_modules.printCats()

如果您有几个模块需要一个变量,请将其放入一个包含该变量的模块中(同样,我不认为应该使用此方法,您应该在包含该变量的模块中传递一个对象):

module_a.py

import global_vars

global_vars.a = 23

module_b.py

import global_vars

print global_vars.a

global_vars.py

a = 37

main.py

import module_a
import module_b

将打印23,变量a在所有模块中共享。你知道吗

相关问题 更多 >