在python中的类之间使用变量

时间:2014-05-08 22:01:07

标签: python class variables

我在类之间导入一个变量时遇到一些问题,我有这样的事情:

class Class1:
    def __init__(self):
        self.dosomething():
    def dosomething(self):
        x = [99, 98]
        return x

class Class2:
    def __init__(self):
        y = Class1()
        print y

最后我希望能够将x用于Class2 但我的例子我刚刚得到:

<myfile.Class1 instance at 0x.....>

能在Class2或其他解决方案中使用“x”的任何方式吗?

可能是使用全局变量的解决方案吗?

globalx = []
class Class1:
    def __init__(self):
        self.dosomething():
    def dosomething(self):
        x = [99, 98]
        globalx = x
        return x

class Class2:
    def __init__(self):
        y = globalx
        print y

1 个答案:

答案 0 :(得分:1)

如下:

class Class1(object):
    def __init__(self):
        self.x = self.dosomething()

    def dosomething(self):
        return [99, 98]

class Class2(object):
    def __init__(self):
        y = Class1()
        print y.x

但这取决于真实dosomething()中的操作实际上有多复杂。您可能希望dosomething()成为property等。如果您添加更多详细信息,我会改进答案。