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

    


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM