def def_struct(name, *fields):
c = "class %s(object):\n" % name
c+= " def __init__(self" + ''.join(',%s'%f for f in fields) + "):\n"
c+= (''.join(
" self.%s=%s\n"%(f,f) for f in fields) if fields else
" pass\n")
exec(c, globals(), globals())
def_struct("Thing", "a", "b")
t1 = Thing(1, 2)
print "Thing.a =", t1.a
print "Thing.b =", t1.b