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

 

posted @ 2017-12-14 20:37  西瓜刀刀刀  阅读(1474)  评论(0编辑  收藏  举报