python class instantiation
daigno at gmail.com
Mon Oct 23 23:24:28 CEST 2006
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.
>> class A(object):
>> stringData = "Whatever"
>> listData = 
>> instance = A()
>> Will have data members instantiated as expected (instance.stringData ==
>> "Whatever" and instance.listData == )
> here, you call a method on the class object. this method modifies the
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.
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
More information about the Python-list