Pythonic在另一个文件中使用类引用的方法

时间:2013-09-17 13:43:05

标签: python

我有一种情况,我想在第二个文件中使用在一个文件中声明的类实例。作为一个小例子,请参阅以下代码:

我现在如何解决这个问题?

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"]

有更好的方法吗?

2 个答案:

答案 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"]