newb __init__ inheritance

hyperboogie hyperboogie at gmail.com
Sun Mar 11 06:56:28 EDT 2012


On Sunday, March 11, 2012 12:38:27 PM UTC+2, Chris Rebert wrote:
> On Sun, Mar 11, 2012 at 3:18 AM, hyperboogie 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

Thanks ... works great now. 
Two last questions:

1. What do you mean by "subclassing `object`"?
2. Is the mro function available only on python3?



More information about the Python-list mailing list