怎么让python断言正确

如何让python断言正确
如题,补充C中的代码,让断言正确
d={'a':'1','b':'m','c':'2010-01-01','d':'2'}
class C(object):
    pass

c=C()

print 'c.a=',c.a
print 'c.b=',c.b
print 'c.c=',c.c
print 'c.d=',c.d
c.a =d['a']
assert c.a == 1
c.b=d['b']
assert c.b=='m'
c.c=d['c']
assert c.c==datetime.datetime(2010,1,1).date()
c.d=d['d']
assert c.d=='2'
------解决思路----------------------
引用:
如题,补充C中的代码,让断言正确


import datetime
d={'a':'1','b':'m','c':'2010-01-01','d':'2'}
class C(object):
    def __init__(self):
        self.a = 0
        self.b = 0
        self.c = 0
        self.d = 0
    def __setattr__(self, name, value):
        self.__dict__[name]=value
    def __getattribute__(self, name):
        if name == "a":
            return int(object.__getattribute__(self, name))
        if name == "c":
            return datetime.datetime.strptime(object.__getattribute__(self, name),'%Y-%m-%d').date()
            
        return object.__getattribute__(self, name)
c=C()

c.a=d['a']
assert c.a==1
c.b=d['b']
assert c.b=='m'
c.c=d['c']
assert c.c==datetime.datetime(2010,1,1).date()
c.d=d['d']
assert c.d=='2' 


#这题应该考的是重载类的内置函数  已解