把setattr(self,k,v)改成self.k=v
class Person(object):
def __init__(self, name, gender, **kw):
self.name = name
self.gender = gender
for key, value in kw.iteritems():
self.key=value
p = Person('Bob', 'Male', age=18, course='Python')
print p.age
print p.course话说为啥把setattr(self,k,v)改成self.k=v就报错了呢