Ethan Furman wrote: > Greetings! > > Perhaps I woke up too early this morning, but this behaviour has me > baffled: > > Python 3.1.1 (r311:74483, Aug 17 2009, 17:02:12) [MSC v.1500 32 bit > (Intel)] on win32 > Type "help", "copyright", "credits" or "license" for more information. > > --> test = object() > > --> setattr(test, 'example', 123) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > AttributeError: 'object' object has no attribute 'example' > > Shouldn't setattr() be creating the 'example' attribute? Any tips > greatly appreciated! > By the way, the "solution" is to create a subclass of object (which in Python 3 simply requires you to declare a class! In Python 2 you'd have to explicitly subclass object, or (equivalently) set your class's metaclass to type with
__metaclass__ = type regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 See PyCon Talks from Atlanta 2010 http://pycon.blip.tv/ Holden Web LLC http://www.holdenweb.com/ UPCOMING EVENTS: http://holdenweb.eventbrite.com/ -- http://mail.python.org/mailman/listinfo/python-list