亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python中的關(guān)鍵字參數(shù)*args和**kwargs詳解

 更新時間:2023年11月03日 10:08:36   作者:驚瑟  
這篇文章主要介紹了python中的關(guān)鍵字參數(shù)*args和**kwargs詳解,在定義類或函數(shù)時,有時候會用到*args和**kwargs,前者叫位置參數(shù),后者叫關(guān)鍵字參數(shù),需要的朋友可以參考下

一、使用場景

在定義類或函數(shù)時,以下場景會用到*args和**kwargs,前者叫位置參數(shù),后者叫關(guān)鍵字參數(shù)

  1. 不確定傳入?yún)?shù)的數(shù)量或形式
  2. 不關(guān)心傳入?yún)?shù)的數(shù)量或形式(此時該類或函數(shù)多作為一個中間件的角色,接收參數(shù)后只是做了一些預(yù)處理,最后將這些參數(shù)傳遞給其他類或函數(shù)做進(jìn)一步處理,如裝飾器)

二、使用方法

基本使用:

def receive_args(*args, **kwargs):
    print(f'args type is: {type(args)}, value is: {args}')
    print(f'kargs type is: {type(kwargs)}, value is: {kwargs}')

if __name__ == '__main__':
    receive_args(0,name='jyz')

輸出:

args type is: <class 'tuple'>, value is: (0,)
kargs type is: <class 'dict'>, value is: {'name': 'jyz'}

由此我們得出:args本質(zhì)是一個tuple,kwargs本質(zhì)是dict,值得注意的是,*是在定義函數(shù)的形式參數(shù)時用來標(biāo)志參數(shù)的類型(位置參數(shù)還是關(guān)鍵字參數(shù)),在函數(shù)體內(nèi)要拿到真正的參數(shù)需要將*去掉。

傳入多個參數(shù)

def receive_args(*args, **kwargs):
    print(f'args type is: {type(args)}, args[0] is: {args[0]}, args[1 ] is: {args[1]},args[2] is: {args[2]}')
    print(f"kwargs type is: {type(kwargs)}, name is: {kwargs['name']}, gender is: {kwargs['gender']}")

if __name__ == '__main__':
    receive_args(0,1,2,name='jyz',gender='male')

輸出:

args type is: <class 'tuple'>, args[0] is: 0, args[1 ] is: 1,args[2] is: 2
kwargs type is: <class 'dict'>, name is: jyz, gender is: male

由于args本質(zhì)是一個tuple,kwargs本質(zhì)是dict,因此可以在函數(shù)中對它們直接進(jìn)行操作。

容易出錯的地方

def receive_args(*args, **kwargs):
    print('args is: ',args)
    print('kwargs is: ',kwargs)
    
if __name__ == '__main__':
    a = 0
    b = 1
    d = {'name':'jyz','gender':'male'}
    receive_args(a,b,d)

輸出:

args is:  (0, 1, {'name': 'jyz', 'gender': 'male'})
kwargs is:  {}

出乎意料的是,receive_args并未將d當(dāng)做kwargs,而是作為args。而如果想要將字典類型作為關(guān)鍵字變量傳到函數(shù)中去,需要在變量前使用**做額外的標(biāo)志:

def receive_args(*args, **kwargs):
    print('args is: ',args)
    print('kwargs is: ',kwargs)

if __name__ == '__main__':
    a = 0
    b = 1
    d = {'name':'jyz','gender':'male'}
    receive_args(a,b,**d) # d前用**做標(biāo)志

輸出:

args is:  (0, 1)
kwargs is:  {'name': 'jyz', 'gender': 'male'}

三、結(jié)論

  1. args本質(zhì)是一個tuple,kwargs本質(zhì)是dict;
  2. 傳入關(guān)鍵字參數(shù)時,要么使用key=value形式傳遞;要么先定義dict再使用**dict傳遞。

到此這篇關(guān)于python中的關(guān)鍵字參數(shù)*args和**kwargs詳解的文章就介紹到這了,更多相關(guān)python中的*args和**kwargs內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 元組列表字典(莫煩python基礎(chǔ))

    元組列表字典(莫煩python基礎(chǔ))

    這篇文章主要介紹了python元組列表字典,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python3.6簡單操作Mysql數(shù)據(jù)庫

    Python3.6簡單操作Mysql數(shù)據(jù)庫

    這篇文章主要為大家詳細(xì)介紹了Python3.6簡單操作Mysql數(shù)據(jù)庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Python中的jquery PyQuery庫使用小結(jié)

    Python中的jquery PyQuery庫使用小結(jié)

    這篇文章主要介紹了Python中的jquery PyQuery庫使用小結(jié),需要的朋友可以參考下
    2014-05-05
  • pytho傳參kwargs及用法詳解

    pytho傳參kwargs及用法詳解

    這篇文章主要介紹了pytho傳參kwargs及用法,函數(shù)傳參的時候簡化傳參形式,無需指定參數(shù)名,本文結(jié)合實(shí)例代碼講解的非常詳細(xì),需要的朋友參考下吧
    2024-05-05
  • Python連接es之查詢方式示例匯總

    Python連接es之查詢方式示例匯總

    這篇文章主要為大家介紹了Python連接es之查詢方式示例匯總詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 使用python繪制愛心效果代碼實(shí)例

    使用python繪制愛心效果代碼實(shí)例

    本文介紹了如何使用Python的Turtle模塊繪制一個紅色的愛心圖形,示例代碼通過定義draw_love函數(shù),利用Turtle的移動和轉(zhuǎn)向功能,實(shí)現(xiàn)了愛心輪廓的繪制,并填充紅色,這種方法適用于簡單的圖形繪制,并可視化展示結(jié)果,需要的朋友可以參考下
    2024-09-09
  • Pycharm2020.1安裝中文語言插件的詳細(xì)教程(不需要漢化)

    Pycharm2020.1安裝中文語言插件的詳細(xì)教程(不需要漢化)

    這篇文章主要介紹了Pycharm2020.1安裝中文語言插件的詳細(xì)教程,不需要漢化,本文給大家分享三種方法,在這小編推薦使用方法二,具體內(nèi)容詳情大家跟隨小編一起看看吧
    2020-08-08
  • Python 在局部變量域中執(zhí)行代碼

    Python 在局部變量域中執(zhí)行代碼

    這篇文章主要介紹了Python 如何在局部變量域中執(zhí)行代碼,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-08-08
  • python起點(diǎn)網(wǎng)月票榜字體反爬案例

    python起點(diǎn)網(wǎng)月票榜字體反爬案例

    大家好,本篇文章主要講的是python起點(diǎn)網(wǎng)月票榜字體反爬案例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python-嵌套列表list的全面解析

    Python-嵌套列表list的全面解析

    下面小編就為大家?guī)硪黄狿ython-嵌套列表list的全面解析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06

最新評論