真是已经很久很久没写过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的声明次序不能颠倒。