最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中關(guān)于?*args與**args的用法及說明

 更新時(shí)間:2023年02月06日 14:41:25   作者:楊哥學(xué)編程  
這篇文章主要介紹了Python中關(guān)于?*args與**args的用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

關(guān)于 *args與**args的用法

*args 和 **kwargs主要用于函數(shù)定義,你可以將不定數(shù)量的參數(shù)傳遞給某個(gè)函數(shù)。

*args

*args 不定參數(shù)(不定的意思是指,預(yù)先并不知道,函數(shù)使用者會(huì)傳遞多少個(gè)參數(shù)給你)

*args是用來發(fā)送一個(gè)非鍵值對(duì)的可變數(shù)量的參數(shù)列表給一個(gè)函數(shù)。

*args的用法:當(dāng)傳入的參數(shù)個(gè)數(shù)未知,且不需要知道參數(shù)名稱時(shí)。

代碼如下:

def func_arg(farg, *args):
? ? print("formal arg:", farg)
? ? for arg in args:
? ? ? ? print("another arg:", arg)
func_arg(1,"youzan",'dba','hello')


# 輸出結(jié)果如下:
# formal arg: 1
# another arg: youzan
# another arg: dba
# another arg: hello

**kwargs

**kwargs 傳入鍵值對(duì)(例如:num1=11,num2=22)

**kwargs 允許將不定長(zhǎng)度的鍵值對(duì)作為參數(shù)傳遞給一個(gè)函數(shù)。如果想要在一個(gè)函數(shù)里處理帶名字的參數(shù),應(yīng)該使用 **kwargs。

代碼如下:

#利用它轉(zhuǎn)換參數(shù)為字典
def kw_dict(**kwargs):
? ? return kwargs
print(kw_dict(a=1,b=2,c=3))

# 輸出結(jié)果如下:
# {'a': 1, 'b': 2, 'c': 3}

*args和**kwargs是什么意思

去面試的時(shí)候,做了一道筆試題——什么是*args和**kwargs,區(qū)別在哪里?

有點(diǎn)蒙,好像見過,但是不知道具體的意思。所以回來查了一下資料,做一下筆記。

總的來說,*args代表任何多個(gè)無名參數(shù),返回的是元組;**kwargs表示關(guān)鍵字參數(shù),所有傳入的key=value,返回字典;

*args和**kwargs的用途

*args 和 **kwargs 主要用于函數(shù)定義, 可以將不定數(shù)量的參數(shù)傳遞給一個(gè)函數(shù)。

*args 是用來發(fā)一個(gè)非鍵值對(duì)的可變數(shù)量的參數(shù)列表給一個(gè)函數(shù); kwargs允許將一個(gè)不定長(zhǎng)度的鍵值對(duì),作為參數(shù)傳遞給一個(gè)函數(shù)。如果需要在一個(gè)函數(shù)中處理帶名字的參數(shù)時(shí),此時(shí)就應(yīng)該使用kwargs了。

def test(a,*args,**kwargs):
    print(a)
    print(args)
    print(kwargs)
test(1,3,5,7,c='2',d=4)

1
(3, 5, 7)
{‘c’: ‘2’, ‘d’: 4}

在test(1,3,5,7,c=‘2’,d=4)中,函數(shù)里參數(shù)對(duì)應(yīng)的數(shù)值為:a=1,*args表示剩下的沒有名稱的參數(shù),**kwargs表示剩余的鍵值對(duì)。

def ak(*args,**kwargs):
    print('args=',args)
    print('kwargs=',kwargs)
    print('***************************************')
if __name__=='__main__':
    ak(2,4,6,8)
    ak(a=2,b=4,c=6,d=8)
    ak(2,4,6,8,a=1,b=3,c=5)
    ak('x', 2, None, a=4, b='6', c=8)
    #ak('a', a=1, 1, None, b='2', c=3)

在這里插入圖片描述

同時(shí)使用*args和kwargs時(shí),*args參數(shù)必須要列在kwargs前,否則會(huì)報(bào)錯(cuò)。

ak('a', a=1, 1, None, b='2', c=3)

File “”, line 1
ak(‘a’, a=1, 1, None, b=‘2’, c=3)
^
SyntaxError: positional argument follows keyword argument

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

腾冲县| 临猗县| 鄄城县| 阳曲县| 汤阴县| 雷波县| 原阳县| 奉贤区| 烟台市| 潢川县| 武穴市| 儋州市| 资中县| 彰化市| 四平市| 枣强县| 灯塔市| 五华县| 昭平县| 平顶山市| 祁连县| 大埔区| 马鞍山市| 荆门市| 恭城| 萝北县| 阜平县| 阿合奇县| 工布江达县| 甘德县| 名山县| 内乡县| 台东市| 科尔| 石城县| 普洱| 随州市| 辽宁省| 东安县| 托里县| 奇台县|