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的声明次序不能颠倒。

你可能感兴趣的:(python,不定参数)