On 3 Feb 2006 08:58:56 -0800, [EMAIL PROTECTED] wrote: >> ... >> Unfortunately, none of this suggests that it's reasonable to have >> >> def x.y(z): ... >> >> mean the same as >> >> def y(x, z): ... > >Actually, it shouldn't. The idea was, that > def x.y(z): ... >(explicitly) introduces an unbound method. That's not introducing a new >conect to python, it's just making the difference between an unbound >method and a not-bindable function explicit. > >Currently, "def(x,y): ..." can mean two different things: In the >context of a class, it introduces an unbound method, in global or local >contexts it introduces a function. I don't want to have a new syntax >for that, I want two different syntaxes for these two different >meanings. >
Are you sure you actually understand what's going on? Python 2.4.2 (#2, Sep 30 2005, 21:19:01) [GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> def foo(): pass ... >>> print type(foo) <type 'function'> >>> class bar: ... def foo(self): pass ... print type(foo) ... <type 'function'> >>> print type(bar.foo) <type 'instancemethod'> Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list