python之类的任意数量参数初始化

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

    

posted @ 2020-05-22 15:39  明朝乘扁舟  阅读(1621)  评论(0)    收藏  举报