提问人:Philippos 提问时间:11/7/2023 最后编辑:Philippos 更新时间:11/8/2023 访问量:51
如何在python中跨文件共享全局类实例?
How to share a global class instance in python across files?
问:
最近我开始用python3为一些简单的语言编写一个解释器。一切都很顺利,直到我尝试将模块分成单独的文件。您可以在任何地方阅读的是创建一个全局文件,您可以在其中创建全局变量,从其他文件导入它并将它们与文件的前缀一起使用,就像这个答案一样。
但是,如果我想共享的变量是其中一个文件中定义的类的实例,该怎么办?
globals.py
:
def init(param):
global myGlobal
myGlobal = MyClass(param)
classes.py
:
import globals
class MyClass:
def __init__(self, param):
self.param = param
def foo(self):
param += 1
def other(self, o):
o.doSomething()
class OtherClass:
def bar(self):
global.myGlobal.foo()
def doSomething(self):
pass
main.py
:
import globals
from classes import MyClass, OtherClass
globals.init(42)
x = OtherClass()
x.bar()
globals.myGlobal.foo()
似乎我需要初始化 ,但一定不知道 中的类。如何进行?myGlobal
globals.py
globals.py
classes.py
答: 暂无答案
评论
ep
error
error
ExecutionPointer
ep
xMain
xClasses
error
可以采用 as 参数,而无需导入 中的类。但是,您可能需要重新考虑您的设计。您是否考虑过将实现为类方法?ExecutionPointer
xTools
error
error
Execution Pointer
ep