Cool object trick

Doran_Dermot at Doran_Dermot at
Fri Dec 17 08:30:17 CET 2004

I rather like it!  I prefer writing obj.spam to obj["spam"]!  I wonder if
there is a technical downside to this use of Python?


Certainly makes writing 'print obj.spam, obj.spam, obj.eggs, obj.bacon,
obj.sausages, "and", obj.spam' a lot easier ;-)

-----Original Message-----
From: at
[ at] On Behalf Of
Sent: 17 December 2004 06:29
To: python-list at
Subject: Re: Cool object trick

Kinda cool.

It's occured to me that just about everything Pythonic can be done with
dicts and functions.  Your Obj is just a dict with an alternate syntax.  You
don't have to put quotes around the keys.  But that's cool.

class struct(object):
    def __init__(self, **kwargs):

# Indented this way, it looks like a struct:
obj = struct(  saying = "Nee"
                   , something = "different"
                   , spam = "eggs"

print obj.spam

# Is that really much different from this?

obj2 = { "saying" : "Nee"
            , "something" : "different"
            , "spam" : "eggs"

print obj2["spam"]


More information about the Python-list mailing list