系統
ubuntukylin 14.04
軟體
python 2.7.4
ipython 4.0.0
一般而言,形參和實參的數量要一緻。但是當實參為序列資料類型時,我們可以将多個實參傳遞到形參中。
其實不定長參數本質是将備援的實參轉換為tuple資料類型後再傳遞給函數。下面的例子傳遞了一個tuple類型實參給函數,和使用不定長參數效果是一樣的。需要注意的是,不定長參數需要放到函數形參清單的後端,而tuple類型形參可以随意放置。
注意:向函數傳度tuple還有一種形式:
在調用函數的時候,使用 * 辨別符:辨別将 t 元組中的元素以疊代的方式傳遞給形參。但是這種時候要求元組元素的個數與形參的個數要一緻。
向函數傳遞list類型對象,與傳遞tuple類型對象類似。
想函數傳遞dic資料類型需要注意下面幾點:
1.形參名與dic中的key相同,形參會自左往右的比對第一個與自己同名的key,并将此key映射的value傳遞到形參。
2.若有形參在dic中并沒有找到比對的key,則會報錯。
3.若dic中有多個同名的key,則自右往左的優先級來比對。
4.形參與dic的key:value順序無關。
注意:若dic中有key不能與形參比對時,需要人為的指定dic中key給形參,并傳遞其value給形參,否則會報錯。本質是将dic中的value值先取出來再傳遞到函數形參。
example:
向函數傳遞一個dic資料類型時,在調用函數時要使用 ** 來辨別是一個映射,即傳遞一個字典類型的對象。而且在函數定義時,函數的形參必須與字典的key一緻,才可以實作将字典的value傳遞給函數中對應的形參。
也可以寫成下面這種形式:
轉載:http://blog.csdn.net/jmilk/article/details/49358153