Robert-Reinder Nederhoed wrote:
> Dit zijn de vervelende momenten, dat je denkt het wel te weten en er  
> achter komt dat iets fundamenteel anders is.
>
>   
Wat je denk ik in de war bracht is 'mutable vs. immutable' data types.
Integers zijn immutable, een operatie op een integer zal nooit de
integer in plaats veranderen, dus als je een integer op de klasse
definieert, zullen mutaties van die integer nooit geshared worden. Wat
wel werkt bijvoorbeeld is een list of dict te definieren in de klasse,
en die sharen met alle instances:

class Foo:
    bars = []
    def __init__(self, bar):
       self.bars.append(bar) # append is _in place_

f1 = Foo(1)
assert f1.bars == [1]
f2 = Foo(2)
assert f2.bars == [1, 2]

Hoop dat dit een beetje duidelijk is. Ik weet dat het de bron van een
hoop verwarring is, maar als goed gebruikt is het ook een krachtige feature.

Groeten,

Guido
> Bedankt voor jullie uitleg.
>
> Toch maar eens mijn code nakijken waar ik statics gebruik :)
>
>
> Groet, Robert-Reinder
>
> --
>
> _______________________________________________
> Python-nl mailing list
> Python-nl@python.org
> http://mail.python.org/mailman/listinfo/python-nl
>   

_______________________________________________
Python-nl mailing list
Python-nl@python.org
http://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan