国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

淺談function(函數)中的動態參數

2020-02-16 01:27:53
字體:
來源:轉載
供稿:網友

我們可向函數傳遞動態參數,*args,**kwargs,首先我們來看*args,示例如下:

1.show(*args)

def show(*args):print(args,type(args))#以元組的形式向列表傳遞參數show(11,22,33,44,55,66)

首先我們定義了一個函數,函數show(*args)里面的*args可以接收動態參數,這里我們接收一個元組形式的參數,我們可以向show()里面傳遞很多參數,函數默認把這些參數作為一個元組進行接收。

2.show(**args)

def show(**kwargs):print(kwargs,type(kwargs))#以字典的形式向函數傳遞參數show(k1=80,k2="alex")

由上面代碼可以看出,**kwargs是以字典的形式接收參數的,我們知道,字典是由鍵-值對組成的,key-value,因而我們必須向里面傳入鍵-值對的參數形式才能夠接收,因此我們在里面傳入了參數k1=80,k2="alex".這樣生成了一個字典,從代碼可以看出來。

3.show(k,*args)

def show(k,*args):
print(k,type(k))
print(args,type(args))
show([11,22],33,44,55,88)

運行結果如下:

[11, 22] <class 'list'>(33, 44, 55, 88) <class 'tuple'>

由上面代碼可以看出,我們向函數定義了兩個參數,一個是k,一個是*args,我們知道,形參k只能接收一個對象參數,*args可以接收多個參數并且放在一個元組中,下面我們向函數傳遞了多個參數,看是如何接收的。從運行結果(1)可以看出,形參k接收了參數[11,22];而后面輸入的值傳遞給了*args,并在存放在一個列表中。

4.show(*args,**kwargs)

只要函數有這兩個參數那么,可以傳遞任何形式的實參進來,人當殺人,佛當殺佛,因為可以接收任意形式的參數,但是我們知道,字典必須是由鍵值對組成,傳遞的參數要滿足key=value的格式,否則會報錯。這點一定要記得,Python中默認給字典傳遞參數的方法就是鍵-值對。

def show(*args,**kwargs):print(args,type(args))print(kwargs,type(kwargs))show(123,"alex",666,alex="sb",nanyang="degnzhou")

運行結果如下:

(123, 'alex', 666) <class 'tuple'>{'nanyang': 'degnzhou', 'alex': 'sb'} <class 'dict'>

我們可以看到,前面的元素被放到了一個元組tuple中,后面的元素被放到了一個字典dict中,但是我們一定要記得,*args,一定要在**kwargs前面,不然會報錯,順序一定是單個參數,動態元組,動態字典方式。

下面我們來看一個實例:

def show(*args,**kwargs):print(args,type(args))print(kwargs,type(kwargs))l = [11,22,33,44]d = {"n1":88,"alex":"sb"}#我們想把列表l傳遞給形參*args,把字典傳遞給形參**kwargs,看下面方式是否可以show(l,d) (1)

#如果向實現上面功能,要進行表示,指定把哪個參數傳遞給形參*args,另一個參數傳遞給形參××kwargs

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洮南市| 台南县| 额济纳旗| 隆林| 灌南县| 高青县| 临漳县| 太和县| 中宁县| 游戏| 镇巴县| 宜宾县| 汨罗市| 绥化市| 辽阳县| 林西县| 甘孜| 凉城县| 清涧县| 开平市| 夏河县| 田林县| 兰西县| 定南县| 都江堰市| 舒兰市| 邢台县| 独山县| 双牌县| 满洲里市| 绥滨县| 西城区| 平罗县| 宜阳县| 吉木乃县| 德清县| 舒城县| 明溪县| 铜山县| 庄河市| 固镇县|