[Python-talk] Initializing a class...
bruce.labitt at autoliv.com
bruce.labitt at autoliv.com
Wed Sep 2 18:34:48 EDT 2009
kent3737 at gmail.com wrote on 09/02/2009 05:39:06 PM:
> On Wed, Sep 2, 2009 at 3:38 PM, <bruce.labitt at autoliv.com> wrote:
> > One thing that I have stumbled upon is that an instance of a class I
> > created is not being initialized as I expected. I thought (and
apparently
> > I was wrong -- what a surprise...) that merely creating an instance of
it
> > was enough.
> >
> > So how does one do this?
> >
> > class myVars:
>
> BTW
> class myVars(object):
> is preferred these days.
>
> > def __init__(self):
> > self.bufsize = 32
> > self.bufdat = zeros(32)
> > self.fftsize = 1
> > self.oldfftsize = 0
> > self.fftinput = zeros(self.fftsize)
> > +1j*zeros(self.fftsize)
> > self.fftoutput = zeros(self.fftsize) +
> > 1j*zeros(self.fftsize)
> > self.dt = 1.0e-13
> >
> > def othermethods:
> >
> > I thought just doing the following was sufficient:
> >
> > c = myVars()
> > print 'FFT initial data is', c.fftinput
> >
> > But I get AttributeError: myVars instance has no attribute 'fftinput'
> >
> > Where am I going astray? How do I init c?
>
> Your code looks right to me. For example:
> In [1]: class MyVars:
> ...: def __init__(self):
> ...: self.fftinput = 3
>
> In [8]: c = MyVars()
>
> In [9]: c.fftinput
> Out[9]: 3
>
> Presumably your real code is not so simple? Is it possible you
> redefined c or myVars somewhere? Try printing dir(c) and type(c) for
> clues.
>
> Kent
Oh, I'm embarrassed... It is real simple...
I typed def __init___(self): instead of def __init__(self):
Jeesh, took me a while to find that.
On your BTW, do I need to change anything besides
class MyVars(object):
-Bruce
******************************
Neither the footer nor anything else in this E-mail is intended to or constitutes an <br>electronic signature and/or legally binding agreement in the absence of an <br>express statement or Autoliv policy and/or procedure to the contrary.<br>This E-mail and any attachments hereto are Autoliv property and may contain legally <br>privileged, confidential and/or proprietary information.<br>The recipient of this E-mail is prohibited from distributing, copying, forwarding or in any way <br>disseminating any material contained within this E-mail without prior written <br>permission from the author. If you receive this E-mail in error, please <br>immediately notify the author and delete this E-mail. Autoliv disclaims all <br>responsibility and liability for the consequences of any person who fails to <br>abide by the terms herein. <br>
******************************
More information about the Python-talk
mailing list