> You could try running it to see: > > >>> class A: > > ... def test(a, **kwargs): return 1 > ... > >>> class B: > > ... def test(b, **kwargs): return 2 > ... > >>> test(a=A(), b=B()) > > Traceback (most recent call last): > File "<stdin>", line 1, in ? > NameError: name 'test' is not defined > > Oops! You have defined a name "test" in two namespaces, the class A and > the class B, but there is no name "test" in the global namespace you are > trying to run it in. > > Since namespaces are critical to Python, your test code is a problem that > just cannot happen in Python. It is a non-issue. Python will not get > confused between the two definitions of test.
I've been answering to Donn Cave's suggestion. Read it, and you will understand what I mean. > As near as I can tell, your original complaint might be solved simply: it > seems to me that you are concerned about that extraneous "self" parameter > for methods that don't need it: No, I wasn't talking about functions that don't use the "self" parameter. I rarely ever have such functions. I just tried to make the example as short as possible. -- http://mail.python.org/mailman/listinfo/python-list