Fredrik Lundh wrote:
> Éric Daigneault lists wrote:
>>>> When creating a class with data members but no __init__ method. Python
>> deals differently with data members that are muatable and immutables.
>>>> no, it doesn't. it's your code that deals with them in different ways,
> not Python.
>>>> Ex:
>> class A(object):
>> stringData = "Whatever"
>> listData = []
>>>> instance = A()
>>>> Will have data members instantiated as expected (instance.stringData ==
>> "Whatever" and instance.listData == [])
>>>> instance.listData.append("SomeString")
>>>> here, you call a method on the class object. this method modifies the
> object.
>I see.. so the all the attributes I declared above are part of the
class... not the instance, kinna like instance attributes being
overshadowed with local method attributes...
>> instance.stringData = "Changed"
>>>> here, you use assignment to *add* a new attribute to the instance.
>> the class attribute is still there, but it's shadowed by an instance
> attribute with the same name.
>> </F>
>yep... got it...
guess the Java-C++ views on things kinna creapt on me there...
Thanks for clearing that up :-)
It is humbling to see how simple yet powerfull python`s view on things
is....
Éric