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的聲明次序不能顛倒。
相關文章
相關標籤/搜索