python中接受任意关键字的参数
1.*args
args是非关键字参数,可以理解为形参,为了方便记忆我理解它是arguments的缩写。
2.*kwargs
kwargs是键值对参数,为了方便记忆我理解它是key word arguments的缩写。
3.setattr()
set是设置,attr是属性,综合起来就是设置属性的函数。语法是:setattr(object, name, value)
例子:
class Person(object): def __init__(self,name,gender,birth,**kwags): self.name=name self.gender=gender self.birth=birth for key,value in kwags.items(): setattr(self,key,value) xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student') print xiaoming.name print xiaoming.job