我有一种情况,我想在第二个文件中使用在一个文件中声明的类实例。作为一个小例子,请参阅以下代码:
我现在如何解决这个问题?
File2(待执行):
# Prog2:
from prog1 import *
cls1.dict["name"] = "John"
File1中
# Prog1:
class Myclass(object):
def __init__(self):
self.dict = {}
cls1 = Myclass()
import prog2
print cls1.dict["name"]
有更好的方法吗?
答案 0 :(得分:5)
为什么循环依赖?
文件1:
# file 1
class MyClass(object):
def __init__(self):
self.dict = {}
cls1 = MyClass()
cls1.dict["name"] = "John"
文件2:
# file 2
from prog1 import cls1
print cls1.dict["name"]
>> "John"
答案 1 :(得分:2)
import
的主要目的是使功能可用。它通常不应该用作执行过程的方法。你的“prog2”应该包含一个带参数的函数:
def execute(instance):
instance.dict["name"] = "John"
“prog1”然后可以使用适当的实例调用它:
import prog2
class Myclass(object):
def __init__(self):
self.dict = {}
cls1 = Myclass()
prog2.execute(cls1)
print cls1.dict["name"]