Amaury Forgeot d'Arc <amaur...@gmail.com> added the comment:

In PyPy, datetime.py is a pure Python module (similar to the one in 3.x, but 
without the _datetime acceleration module).  So comparison with CPython is not 
relevant here.

In CPython, __module__ is not an attribute of the type, but a property: it is 
defined in the 'type' object.  The situation is similar to the following script 
(2.x syntax); the "foo" attribute can be found on the class, but not on 
instances of the class.

class Type(type):
    foo = 42
class Datetime:
    __metaclass__ = Type
print Datetime.foo
print Datetime().foo

This is a good thing sometimes: for example 'str' has a __dict__ (containing 
methods) but strings don't have a __dict__ -- storage is optimized and only has 
an array of chars.  In this case you wouldn't want the class __dict__ be 
returned instead.

----------
nosy: +amaury.forgeotdarc

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15223>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to