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