在python属性上重载运算符
是否可以在python属性上重载运算符?比如:在python属性上重载运算符,python,properties,operator-overloading,Python,Properties,Operator Overloading,是否可以在python属性上重载运算符?比如: class Foo( object ): @property def bar( self ): return unfoobar( self._bar ) @bar.setter def bar( self, baz ): self._bar = foobar( baz ) @bar.__eq__ def bar( self, baz ): return self._bar == foobar(
class Foo( object ):
@property
def bar( self ): return unfoobar( self._bar )
@bar.setter
def bar( self, baz ): self._bar = foobar( baz )
@bar.__eq__
def bar( self, baz ): return self._bar == foobar( baz )
没有为_-bar定义特殊类(尽管在本例中,这可能是最好的解决方案…)否,运算符应用于属性的值(无论是由属性提供的还是从
\u dict\u>映射或插槽获取的),而不是属性本身
恐怕您必须返回一个实现\uuuuueq\uuuuu
的特殊包装器,然后返回它。添加条
类非常简单。谢谢我会接受你的回答,如果你允许的话。