python中在对类的函数初始化时,可以传入多个参数,甚至任意数量的参数
比如:
class Person(object):
def __init__(slef, name, age, **kw): // **kw代表不确定参数
self.name = name
self.age = age
for k, v in kw.iteritems(): //遍历赋值 **kw相当于dict,遍历取key,value
setattr(self, k, v)
p = Person(‘Lisa’, 18, address = 'china', gender = 'female')
print p.address // 输出 china
print p.gender //输出 female
拓展:
1.setattr() 设置新的属性
setattr(self, 'address', 'asia') 等价于 self.address = 'asia'
2.getattr() 获取属性
getattr(p, 'name') 等价于 p.name