should "self" be changed?

zipher dreamingforward at gmail.com
Tue May 26 12:37:29 EDT 2015


Would it be prudent to rid the long-standing "argument" (pun unintended) about self and the ulterior spellings of it, by changing it into a symbol rather than a name?  

Something like:

class MyClass(object):

    def __init__(@):
        @.dummy = None

OR, even better, getting *rid of it* in the parameter list, so it stops confusing people about how many parameters a method needs, and transform it into a true *operator*.

class MyClass(object):

    def __init__(): #takes no arguments!
        @.dummy = None  #the @ invokes the class object's dictionary

That would seem to be a nice solution to the problem, really.  It doesn't become PERLish because you've made it into a genuine operator -- "self" was always a non-variable that looked like a variable and hence created an itch that couldn't be scratched.

Anyone else have any thoughts?

--mark



More information about the Python-list mailing list