我有2个类在相同的变量上运行,但彼此相反。有没有办法在它们之间传输变量而无需对每个交换进行硬编码或将所有值组合成一个数组?组合这些课程不是一种选择。
#pseudocode
class class1:
def __init___(self):
# code
initialize variable MAIN
# do stuff
# do stuff
make variable stuff
# do stuff
make variable thing
# do stuff
class class2:
def __init___(self):
# code
initialize variable stuff
initialize variable thing
# do stuff
# do stuff
undo variable stuff
# do stuff
undo variable thing
# do stuff
make variable MAIN
我希望能够快速在class1
到class2
之间来回发送数据。
答案 0 :(得分:2)
将共享数据放入第三个对象并从两个类中引用它。
答案 1 :(得分:2)
我认为这比你想象的容易得多。以下是两个类之间“发送”数据的一些示例。
class class2(object):
def __init__(self, other):
self.other = other
def set_color(self, color):
self.color = color
# "Sending" to other class:
self.other.color = color
def set_smell(self, smell, associated_object):
self.smell = smell
associated_object.smell = smell
这样的用法:
>>> ob1 = class1()
>>> ob2 = class2(ob1)
>>> ob2.set_color("Blue")
>>> ob1.color
"Blue"
>>> ob2.set_smell("Good", ob1)
>>> ob1.smell
"Good"