[Tutor] Dicts and classes

Kirby Urner urnerk@qwest.net
Tue, 12 Mar 2002 16:23:09 -0800


>
>I have exaggerated here, but you get the idea.
>Is there any way to do this:
>
>class customer:
>    def __init__(self, info):
>        for k in info.keys(): self.k = info[k]
>    def change(self, name, value):
>        self.name = value
>    def print(self, name):
>        print self.name
>

  >>> class Myclass:
         def __init__(self, **entries):
            self.__dict__.update(entries)
         def change(self,**kw):
            self.__dict__.update(kw)
         def prn(self,name):
            print "Name: %s  Value: %s" %(name, self.__dict__[name])


  >>> obj = Myclass(joe=3,simple=1,make=[1,2])
  >>> obj.prn('joe')
  Name: joe  Value: 3
  >>> obj.change(joe=10)
  >>> obj.joe
  10
  >>> obj.change(joe=7,simple=15)
  >>> obj.simple
  15
  >>> obj.joe
  7

Kirby