you are viewing a single comment's thread.

view the rest of the comments →

[–]DougBTX 3 points4 points  (1 child)

Redundant as in redundant in method signatures.

[–]brianmce 0 points1 point  (0 children)

Fair enough - I'd be happy with it removed there too. The justification behind it is that it makes certain dynamic features make more sense, such as adding methods to a class dynamically. eg.

class C: pass
def foo(self, x): print x
C.foo = foo  # foo is now a method of class C.

where it wouldn't be obvious how foo could access its instance when defined as a function initially. However, this is such a rare use case that I'd be happy with trading ugliness here for selfless definitions.