should "self" be changed?

Laura Creighton lac at openend.se
Tue May 26 12:57:19 EDT 2015


In a message of Tue, 26 May 2015 09:37:29 -0700, zipher writes:
>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?

Guido did.  :)
http://neopythonic.blogspot.se/2008/10/why-explicit-self-has-to-stay.html

Laura



More information about the Python-list mailing list