Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python属性上重载运算符_Python_Properties_Operator Overloading - Fatal编程技术网

在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(

是否可以在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( baz )

没有为_-bar定义特殊类(尽管在本例中,这可能是最好的解决方案…)

否,运算符应用于属性的值(无论是由属性提供的还是从
\u dict\u>映射或插槽获取的),而不是属性本身


恐怕您必须返回一个实现
\uuuuueq\uuuuu
的特殊包装器,然后返回它。

添加
类非常简单。谢谢我会接受你的回答,如果你允许的话。