getattr,setattr

#!/usr/bin/env python
# !-*-coding:utf-8-*-


class Setting():
    name = "asdfa"
    age = "18"
    def __init__(self):
        pass

class MyClass():
    def __init__(self, wrapped):
        self._wrapped = wrapped

    def __getattr__(self, name):
        try:
            return getattr(self._wrapped, name)
        except Exception, e:
            return None

    def setup(self, setting):
        for i in setting:
            try:
                getattr(self._wrapped, i)
                setattr(self._wrapped, i, setting[i])
            except:
                return None

s =Setting()
c = MyClass(s)
print c.name
setting = {"name":"小米" ,"age" :"20"}
c.setup(setting)

print c.name
print c.age
原文地址:https://www.cnblogs.com/canbefree/p/4156253.html