Instance attributes vs method arguments
Rafe
rafesacks at gmail.com
Tue Nov 25 05:24:57 EST 2008
snip
> It is always good practice to provide default values for
> instance variables in the class definition, both to enhance
> readability and to allow adding documentation regarding
> the variables, e.g.
>
> class Class_a:
>
> # Foo bar
> a = None
>
> # Foo baz
> b = None
snip
Those are not instance 'variables' (attributes), they are class
attributes. I used to do that in JScript, so I did it in python when I
moved over. It caused a lot of trouble for me as a beginner. I was
eventually given the advice to stop it. I haven't looked back since
(until now). I think you would just be adding a new self.a which
blocks access to your class.a, but I'm still shaky on this knowledge.
Instance attribute defaults would be inside __init__() and before
unpacking the *args.
- Rafe
More information about the Python-list
mailing list