python3.x中接受任意关键字的参数

转载原文地址:https://www.cnblogs.com/sword-/p/8039833.html

python3.x中接受任意关键字的参数

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

注:

Python3字典的items方法就是Python2字典的iteritems方
都会返回iterator,而不是一个list,iterator不像list那样占用额外的内存空间

猜你喜欢

转载自blog.csdn.net/m0_37519490/article/details/79971622