Multi-dimensional list initialization

Chris Angelico rosuav at
Mon Nov 5 09:05:48 CET 2012

On Mon, Nov 5, 2012 at 6:54 PM, Andrew Robinson
<andrew3 at> wrote:
> On 11/04/2012 11:27 PM, Chris Angelico wrote:
>> On Mon, Nov 5, 2012 at 6:07 PM, Chris Rebert<clp2 at>  wrote:
>>>>>> x = None
>>>>>> x.a = 42
>>> Traceback (most recent call last):
>>>    File "<stdin>", line 1, in<module>
>>> AttributeError: 'NoneType' object has no attribute 'a'
>> Python needs a YouGottaBeKiddingMeError for times when you do
>> something utterly insane like this. Attributes of None??!? :)
>> ChrisA
> Hmmm? Everything in Python is an object.
> Therefore! SURE. None *does* have attributes! ( even if not useful ones... )
> eg: " None.__getattribute__( "__doc__" ) " doesn't produce an error.

Eh, I meant mutating None's attributes, which is just as insane as I said.

> In C, in Linux, at the end of the file "errno.h", where all error codes are
> listed eg:( EIO, EAGAIN, EBUSY, E....) They had a final error like the one
> you dreamed up, it was called "EIEIO"; and the comment read something like,
> "All the way around Elmer's barn".

There's been a collection of those around the place. A few memorable ones:

EMILYPOST: Bad fork()
ETOBACCO: Read on empty pipe
EHORSE: Mount failed

I may be misremembering, but I'm sure the originals can be found at
the other end of a web search.


More information about the Python-list mailing list