There is a pattern that occurs fairly often in constructors in Python and other OOP languages.
Let's take an example: class Server(object): def __init__(self, host, port, protocol, bufsize, timeout): self.host = host self.port = port self.protocol = protocol self.bufsize = bufsize self.maxthreads = maxthreads self.timeout = timeout Imho, in the class above the assignment to instance fields does not contain much programming logic and therefore can be safely 'abstracted away' by the language itself with a syntax which would look something like this: class Server(object): def __init__(self, @host, @port, @protocol, @bufsize, @timeout): pass This would be equivalent to the first example above, yet it does not obfuscate the code in any way. Or does it? It does look much cleaner to me. Of course, the ampersand is just an arbitrary choice and might have bad connotations for those who read it as 'take address of' but @ has some allusion to delegates which maybe is ok. I am not an experienced programmer and I am not sure if this is necessarily a good idea, so I wanted to get some feedback from more experienced Pythonistas before submitting it elsewhere. -- http://mail.python.org/mailman/listinfo/python-list