Newbie Question regarding __init__()
Dave Angel
davea at ieee.org
Sat Aug 1 05:52:11 EDT 2009
Nat Williams wrote:
> As MRAB described, ALL instance methods need to accept 'self' as a first
> parameter, as that will be passed to them implicitly when they are called.
> This includes __init__. The name 'self' is just a commonly accepted
> convention for the name of the instance object passed to methods. You don't
> have to call it that, but you really should.
>
> Take a look at http://docs.python.org/tutorial/classes.html#class-objects
> It might help shed some light on how methods and instances work.
>
> One other thing. I'm a little confused by the first line of
> dcObject.__init__:
>
> self.init_Pre() and self.init_Exec()
>
> I suspect this does not do what you think it does. init_Pre and init_Exec
> will both be called by this expression (unless init_Pre throws an exception,
> of course). You're not getting anything here that you wouldn't by just
> calling each method on a separate line, except just making it harder to
> read.
>
>
Read the doc-string for init_Pre() and for init_Exec(). The final
version of init_Pre() will return False in some circumstances, and in
those circumstances Simon doesn't want init_Exec() to be called. He's
deliberately using the short-circuit evaluation of 'and' to accomplish
that.
>
> On Fri, Jul 31, 2009 at 8:53 PM, Simon <dciphercomputing at gmail.com> wrote:
>
>
>> Hi
>>
>> So should the dcObject class include the "self" as well since I have
>> not defined an __init__ method in dcCursor?
>>
>> Simon
>>
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>>
>>
>
>
Every one of those methods in both of those classes need a "self" first
argument. As others have said, all instance methods need a 'self.'
More information about the Python-list
mailing list