[Python-Dev] PEP 318 needs a rewrite (original) (raw)
Greg Ewing greg at cosc.canterbury.ac.nz
Mon Mar 8 18:19:26 EST 2004
- Previous message: [Python-Dev] Re: PEP 318 needs a rewrite
- Next message: [Python-Dev] (Specific syntax of) PEP 318 - function/method/class decoration
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Guido:
As a human reader, I like seeing the attributes before the arguments because some attributes (like classmethod and staticmethod) affect the interpretation of the argument list.
On the other hand, this weakens the syntactic parallels between function definitions and function calls. Somehow, a def which doesn't have an open paren immediately after the function name doesn't look function-definition-ish to me.
With suitable argument naming conventions, the argument list itself usually gives enough cues to make it clear if it's a classmethod or staticmethod:
def foo(self, x, y, z): # self => it's a normal method
def bar(cls, x, y, z) [classmethod]: # cls => it's a class method
def baz(x, y, z) [staticmethod]: # neither self nor cls => it's a static method
Greg Ewing, Computer Science Dept, +--------------------------------------+ University of Canterbury, | A citizen of NewZealandCorp, a | Christchurch, New Zealand | wholly-owned subsidiary of USA Inc. | greg at cosc.canterbury.ac.nz +--------------------------------------+
- Previous message: [Python-Dev] Re: PEP 318 needs a rewrite
- Next message: [Python-Dev] (Specific syntax of) PEP 318 - function/method/class decoration
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]