newb __init__ inheritance

Chris Rebert clp2 at rebertia.com
Sun Mar 11 06:38:27 EDT 2012


On Sun, Mar 11, 2012 at 3:18 AM, hyperboogie <hyperboogie at gmail.com> wrote:
<snip>
> thank you everyone...
> Still things are not working as expected... what am I doing wrong?
<snip>
> # cat test.py
> #!/usr/bin/python
>
> class A():

You should be subclassing `object`, but that's a minor point which
isn't the cause of your problem.

>   def __init__(self):
>      z=1

This creates a *local variable* named "z". You want an *attribute*
named "z", so you should be doing:
    self.z = 1
instead. Same problem elsewhere; you must *always* explicitly use
`self` when referencing an attribute of the current object. Python !=
Java or C++.

Cheers,
Chris



More information about the Python-list mailing list