python中的不定参数

真是已经很久很久没写过blog了。
最近由于项目的关系,又拿起来python这把利刃,不过之前就学艺不精,如今也没好到哪里去。恰好碰成这个不定参数问题,特记录在案。

 1. * :这货不是指针

      def test(parameter1, *mparameter2):
            print ("%s\n%s\n" % (parameter1, parameter2))

      test("111", "222", "333")

      结果:111
           ('222', '333')

      *mparameter2表明参数列表中除了以前的parameter1具名参数外的全部不具名参数,把他们组织成了一个tuple;

2. **:这货也不是指针的指针

     def test(parameter1, **mparameter2):
            print ("%s\n%s\n" % (parameter1, parameter2))

      test("111", p2="222", p3"333")

      结果:111
           {'p2':'222',  'p3':'333'}

      **mparameter2表明参数列表中除了以前的parameter1具名参数外的全部其余具名参数,把他组织成了一个dict;

 3. 合在一块儿:

     def test(parameter1, *mparameter2,**mparameter3):
            print ("%s\n%s\n%s\n" % (parameter1, parameter2, parameter3))

      test("111", "222", "333", p2="444", p3"555")

      结果:111
            ('222', '333')
            {'p2':'444',  'p3':'555'}

     *mparameter2,**mparameter3的声明次序不能颠倒。
相关文章
相关标签/搜索