重载=Python中的运算符

重载=Python中的运算符,python,operator-overloading,Python,Operator Overloading,我昨天发现可以在python中重写运算符,所以在谷歌搜索了一段时间后,我发现了如何重写运算符,但我找不到任何重载=符号的方法。有_uset _u,但据我所知,它重载了对象中属性的符号,而不是对象本身的符号 我想做到的是: F = Foo(1) G = Foo(2) F = G #overloaded = 那么,在python中有没有一种重载对象的方法?这个函数叫什么?不能重载=赋值运算符。不。在Python中不能重载赋值运算符。看到你想要重载=赋值而不是==相等比较了吗?在某些情况下,一个带有

我昨天发现可以在python中重写运算符,所以在谷歌搜索了一段时间后,我发现了如何重写运算符,但我找不到任何重载=符号的方法。有_uset _u,但据我所知,它重载了对象中属性的符号,而不是对象本身的符号

我想做到的是:

F = Foo(1)
G = Foo(2)
F = G #overloaded =

那么,在python中有没有一种重载对象的方法?这个函数叫什么?

不能重载=赋值运算符。

不。在Python中不能重载赋值运算符。看到你想要重载=赋值而不是==相等比较了吗?在某些情况下,一个带有setter的属性可以做到这一点。但它只适用于对象属性,而不适用于自由变量。您可能还需要考虑其他选项:setattr、dictionary、dict属性……是的,在分配给不同对象时基本上调用c方法OK,感谢您的回复!