天天看點

Python函數_參數的多類型傳值軟體環境 參數的多類型傳值

系統 

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