On 10/20/2013 09:36 AM, Marco Buttu wrote:

In Python 3 pero' Foo.__dict__ non e' un dizionario ordinario, ma un oggetto di tipo types.MappingProxyType:

>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=3, micro=2, releaselevel='final', serial=0)
>>> type(Foo.__dict__)
<class 'mappingproxy'>
>>> import types
>>> type(Foo.__dict__) is types.MappingProxyType
True
Preciso ulteriormente che stiamo parlando del dizionario degli attributi di classe, perche' quello degli attributi di istanza e' un dizionario ordinario anche in Python 3:

>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=3, micro=2, releaselevel='final', serial=0)
>>> class Foo:
...     pass
...
>>> f = Foo()
>>> type(f.__dict__)
<class 'dict'>


--
Marco Buttu

INAF - Osservatorio Astronomico di Cagliari
Via della Scienza, Loc. Cuccuru Angius
09047 Selargius (CA)
Phone: 070 711 80 217
Email: mbu...@oa-cagliari.inaf.it

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a