01
用做不定長參數(shù)名
可以接收多個參數(shù)值
案例1:比如我定義一個求和的函數(shù),無論傳入幾個值,都可以計算出求和的結(jié)果
代碼1.1:
問題:以上代碼實現(xiàn)傳入2個參數(shù)值的和,但是如何我要求的是大于2個參數(shù)值的和,如:10+20+30=或者 1+2+3+4+5+..=這種情況下我們必須要重寫add方法,往里面去加參數(shù)名,但是這種情況下,擴展性太差,腳本的維護性也不好。
因此我們的不定長參數(shù)的出現(xiàn),就可以在不重寫add方法的前提下,也能滿足求多個參數(shù)值的和。
代碼1.2:
總結(jié):*num(不定長參數(shù)),可以接收0個或者N個值,接收的值會存儲在一個元組中;調(diào)用函數(shù)的時候,要使用位置傳值,也就是直接寫值就可以。
02
用做解包,將可迭代對象中的元素解包
案例2:比如我定義一個函數(shù),無論傳入幾個值,都可以計算出從傳入值的和與乘積的結(jié)果,并獲取和與積的結(jié)果
代碼2.1:
總結(jié):除了列表對象可以解包之外,任何可迭代對象都支持解包;可迭代對象包括元組、字典、集合、字符串、生成器實現(xiàn)了__next__方法的一切對象。但是字典解包后,只會把字典的 key 取出來,value 則丟掉了。
代碼2.2:
解包也可以用在參數(shù)值的傳遞中
代碼2.3:
總結(jié):調(diào)用add方法時,直接傳入一個tpl元組,則*num會把整個元組值作為一個參數(shù)值傳入,就會變成((10,20),),那么對于add方法中的循環(huán)則無法計算結(jié)果。所以我們在調(diào)用函數(shù)時,將*tpl傳入,會現(xiàn)將這個元組整體解包為2個元素值傳入,用*num接收后就變成了(10,20)。這個時候?qū)τ赼dd中的循環(huán)就可以去進行計算了。
03
常運用場景
結(jié)合DDT用作測試用例的多次執(zhí)行
案例3:執(zhí)行百度搜索,第一次搜索檸檬班,第二次搜索軟件測試
代碼3.1:
審核編輯:劉清
-
生成器
+關(guān)注
關(guān)注
7文章
322瀏覽量
21570 -
python
+關(guān)注
關(guān)注
56文章
4822瀏覽量
85877
發(fā)布評論請先 登錄
相關(guān)推薦
科普一下CAN總線的基礎(chǔ)知識

介紹一下關(guān)鍵字extern的用法
科普一下ZYNQ是什么
簡要介紹一下Python-UNO的使用方法

科普一下MTU是什么,如何設(shè)置MTU

簡單科普一下GPS和GNSS和區(qū)別

評論