Problem of Readability of Python
Chris Mellon
arkanes at gmail.com
Wed Oct 17 15:11:01 EDT 2007
More information about the Python-list mailing list
Wed Oct 17 15:11:01 EDT 2007
- Previous message (by thread): Problem of Readability of Python
- Next message (by thread): Problem of Readability of Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/17/07, kiilerix at gmail.com <kiilerix at gmail.com> wrote: > On Oct 7, 10:24 pm, al... at mac.com (Alex Martelli) wrote: > > $ python -mtimeit -s'class A(object):pass' -s'a=A()' 'a.zop=23' > > When I know that all instances of classes inheriting from object have > a namespace, then I would expect either that all objects have a > namespace or that it was inherited from object. I would expect > instantiating object to be the simplest and best way to get a > namespace. > > But ... > > >>> o = object() > >>> o.foo = 7 > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > AttributeError: 'object' object has no attribute 'foo' > >>> o.__slot__ > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > AttributeError: 'object' object has no attribute '__slot__' > >>> class O(object): pass > >>> o = O() > >>> o.foo = 7 > > That object is kind of "pure virtual" seems to me to be a confusing > special case without any advantages. > > Why can't object be instantiated directly? Is that explained and > documented anywhere? > What makes you think it can't be instantiated directly? You just did it. It's not, however, suitable for use as an arbitrary thing to stick attributes on. Which is a little sad, but a necessary requirement for things like int() and str() to be small and fast.
- Previous message (by thread): Problem of Readability of Python
- Next message (by thread): Problem of Readability of Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list