On Tue, Sep 20, 2016 at 10:54 AM Chris Angelico <ros...@gmail.com> wrote:
> On Tue, Sep 20, 2016 at 5:01 PM, אלעזר <elaz...@gmail.com> wrote: > > But the foo() finds the function to call, so foo.bind() could be made to > > find it too. > > class Demo: > def __init__(self): > self.bind = 42 > def __call__(self): > print("I got called!") > > foo = Demo() > > You can most certainly call foo(), but foo.bind() will bite you. > > With a stand-alone function bind(foo), it can use protocols like __call__. > > I meant something like making it a "__bind__" (just a strawman suggestion) and do the same lookup as foo() does, and using a (wrong) functional-programming-inspired syntax foo 5 () Such a syntax will have the side benefit of allowing calling print in a similar way to Python2, which people seem to love. print "hello" () This strawman proposal has many downsides I guess. My point being, this can be made to work, but it's probably not worth it. Elazar
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/