Deprecate self
Harry George
hgg9140 at cola.ca.boeing.com
Wed Apr 18 12:09:29 EDT 2001
In Modula-3, I think "self" is not reserved -- you can use other names
for the first arg. Further, you can call the method as a standalone
function or procedure as long as you supply the arg directly. I do
(did) this regularly in Modula-3 in conjunction with partial
revelation. It even seems to work in python:
#method signature:
def from_tadef(self,fileobj,style="tadef")
#usage:
t=Tadef_File()
#---method calls---
t.from_tadef(filename)
t.to_tadef(filename+".out")
#---function calls---
Tadef_File.from_tadef(t,filename)
Tadef_File.to_tadef(t,filename+".out")
Obviously, in the standalone mode, you cannot rely on an implied
"self" -- it is just another argument.
piet at cs.uu.nl writes:
> >>>>> "Alex Martelli" <aleaxit at yahoo.com> (AM) writes:
>
> AM> "Dave LeBlanc" <whisper at oz.net> wrote in message
> AM> news:9bji5k$417$0 at 216.39.170.247...
> >> Since self is used for every method of every class, isn't it a bit
> >> redundant?
>
> AM> Not really. Explicit is better than implicit.
>
> >> I don't know of another OO language that makes you manually
> >> carry around the "this"/"self" pointer/reference...
>
> AM> Modula-3, for example (I believe 'self' is a reserved word
> AM> there; in Python, it's "just" a 'universal' convention).
>
> And Corbascript/IDLscript, which heavily borrowed concepts from Python
> --
> Piet van Oostrum <piet at cs.uu.nl>
> URL: http://www.cs.uu.nl/~piet [PGP]
> Private email: P.van.Oostrum at hccnet.nl
--
Harry George E-mail: harry.g.george at boeing.com
The Boeing Company Renton: (425) 237-6915
P. O. Box 3707 02-CA Everett: (425) 266-3868
Seattle, WA 98124-2207 Page: (425) 631-8803
More information about the Python-list
mailing list