Courageous jkraska1 at san.rr.com
Mon May 15 04:57:37 CEST 2000

> >  def __init__()
> >
> >   i=0
> >   f=3.1
> >   s="str"
> >   ll=[]
> Actually, it should be:
>   class MyClass:
>     def __init__():
>       self.i = 0
>       self.f = 3.1
>       self.s = "str"
>       self.ll = []

You forgot the (self) in the def line... :)

> Note that without the 'self.' in __init__() (or any other method), a
> variable *local to that method* is created; the variables would disappear
> upon the completion of the method.

Yeah, I make that mistake all the time. The interpreter
is constantly correcting me. It's my c++/java background
with its implicit "this".

I miss the colons all the time, too (as Mr. Pinard so
readily pointed out.... ha). Which brings me to the topic.
Sometimes colons seem syntactically unnecessary. For example:

	if <condition>:

Really, else doesn't need a colon, as far as I can tell
(I can see the need for the if, supposing you wan to
have the statement on the same line).

Doesn't seem like "def" does, either.


More information about the Python-list mailing list