Forward References?

Justin Sheehy dworkin at ccs.neu.edu
Tue Apr 18 18:53:14 EDT 2000


"Jeff Massung" <jmassung at magpiesystems.com> writes:

> >class a:
> >   def x(self):
> >      y(self)

> Should this be a.y(self)?

No, it should be self.y()

It could be a.y(self), and that would work for many cases, but that
isn't really what you want.

> Also, someone mentioned above having: self.y() (or self.y(self)), my
> question is what is the difference between a.y and self.y?

It's easy to find out in the interactive interpreter.

>>> class a:
...  def y(self):
...   print 1
... 
>>> b = a()
>>> a.y
<unbound method a.y>
>>> b.y
<method a.y of a instance at 80a67e8>
>>> b.y()
1
>>> a.y()
Traceback (innermost last):
  File "<stdin>", line 1, in ?
TypeError: unbound method must be called with class instance 1st
argument
>>> a.y(b)
1

Or, of course, one could read the documentation or tutorial.  This is
pretty well explained, iirc.

-Justin

 




More information about the Python-list mailing list