如何重新定义赋值运算符,以便将一个对象的值分配给另一个对象,例如:
class Obj1():
def __init__(self, x, y):
self.x = x
self.y = y
class Obj2():
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
a = Obj1(1,2)
b = Obj2(0, 0, 0)
b = a
# в b должны быть значения 1, 2, 0
您不能覆盖分配。但是你可以做这样的事情 - 如果我正确理解你的意图,用另一个对象的值更新同名的属性
直接通过赋值运算符 - 这是不可能的。但是你可以做一个“用耳朵佯攻”。例如,通过班次运算符来组织它。:)
据我了解,这样做的pythonic方法是这样的:
据我所知,分配本身是无法替代的,尽管我当然可能是错的。