python3:如何从不同的文件中使用相同的类实例

python3:如何从不同的文件中使用相同的类实例,python,python-3.x,class,Python,Python 3.x,Class,e、 g.f1.py(简化): 和f2.py: from f1 import * tc = TestClass() tc.x = 73 和f3.py: from f1 import * ... print(tc.x) ... 当然这是错误的,但如何做才是正确的呢? 我只需要从不同的文件访问同一类实例中的数据和函数,类似于C中的“extern”。在每个文件中生成新实例将生成不同的变量,因此不适用。谢谢您的帮助。只需导入f2.py: 从f2导入tc ... 打印(tc.x) ... 只需导入f

e、 g.f1.py(简化):

和f2.py:

from f1 import *
tc = TestClass()

tc.x = 73
和f3.py:

from f1 import *
...
print(tc.x)
...
当然这是错误的,但如何做才是正确的呢?
我只需要从不同的文件访问同一类实例中的数据和函数,类似于C中的“extern”。在每个文件中生成新实例将生成不同的变量,因此不适用。谢谢您的帮助。

只需导入
f2.py

从f2导入tc
...
打印(tc.x)
...

只需导入
f2.py

从f2导入tc
...
打印(tc.x)
...

您应该使用单例类作为测试类。 下面是python模式实现的链接,您可以遵循。

您应该使用单例类作为测试类。 下面是python模式实现的链接,您可以遵循。

下面是一个代码太少的例子。
f3.py
中真正想要访问
tc.x
的是什么?有什么原因不能在f3中导入f2而不是f1吗?虽然还不太清楚您想做什么,但如果看起来您想要一个“单例”实例,那么为什么不直接将其放入
tc=TestClass()
f1.py的底部,只需将其导入其他文件,而不是类本身?(不幸的是,Python不允许您选择不导出类,就像许多其他语言一样。)谢谢;评论和回答帮助我理解。因此,我在f1.py中使用了更简单、更充分的方法<;code>tc=TestClass()
,并在需要时将f1导入其他文件。谢谢你这么快help@quamrana:该项目由大约10个不同文件组成,其中大多数文件可以访问同一类的数据和方法。我喜欢使用类来提高模块的可移植性。也许我在减少描述方面做得太过分了,f3.py是具有相同功能的更多文件的占位符。
f3.py
中真正想要访问
tc.x
的是什么?有什么原因不能在f3中导入f2而不是f1吗?虽然还不太清楚您想做什么,但如果看起来您想要一个“单例”实例,那么为什么不直接将其放入
tc=TestClass()
f1.py的底部,只需将其导入其他文件,而不是类本身?(不幸的是,Python不允许您选择不导出类,就像许多其他语言一样。)谢谢;评论和回答帮助我理解。因此,我在f1.py中使用了更简单、更充分的方法<;code>tc=TestClass()
,并在需要时将f1导入其他文件。谢谢你这么快help@quamrana:该项目由大约10个不同文件组成,其中大多数文件可以访问同一类的数据和方法。我喜欢使用类来提高模块的可移植性。也许我在减少描述方面做得太过分了,f3.py是具有相同功能的更多文件的占位符。
from f1 import *
...
print(tc.x)
...