我在类之间导入一个变量时遇到一些问题,我有这样的事情:
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
答案 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等。如果您添加更多详细信息,我会改进答案。