overloading operators for a function object

Westley Martínez anikom15 at gmail.com
Mon Oct 3 18:01:24 EDT 2011


On Fri, Sep 30, 2011 at 09:50:42PM -0700, Fletcher Johnson wrote:
> Is it possible to overload operators for a function?
> 
> For instance I would like to do something roughly like...
> 
> def func_maker():
>   def func(): pass
> 
>   def __eq__(other):
>     if other == "check":  return True
>     return False
> 
>   func.__eq__ = __eq__
>   return func
> 
> newfunc = func_maker()
> newfunc == "check" #true
> newfunc == "no" #false

I'm curious as to what you're going to use this for.



More information about the Python-list mailing list