On Aug 13, 6:43 pm, eliben <[EMAIL PROTECTED]> wrote: > Hello, > > I want to be able to do something like this: > > Employee = Struct(name, salary) > > And then: > > john = Employee('john doe', 34000) > print john.salary > > Basically, Employee = Struct(name, salary) should be equivalent to: > > class Employee(object): > def __init__(self, name, salary): > self.name = name > self.salary = salary > > Ruby's 'Scruct' class (http://ruby-doc.org/core/classes/Struct.html) > does this. I suppose it can be done with 'exec', but is there a more > Pythonic way ? > > Thanks in advance > > P.S. I'm aware of this common "pattern": > > class Struct: > def __init__(self, **entries): > self.__dict__.update(entries) > > Which allows: > > john = Struct(name='john doe', salary=34000) > print john.salary > > But what I'm asking for is somewhat more general.
NamedTuples: http://code.activestate.com/recipes/303439/ -- http://mail.python.org/mailman/listinfo/python-list