欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的“_args”和“__kwargs”用法詳解

 更新時(shí)間:2023年01月30日 14:51:34   作者:程序猿-張益達(dá)  
*args 和 **kwargs 主要?于函數(shù)定義,你可以將不定數(shù)量的參數(shù)傳遞給?個(gè)函數(shù),這篇文章主要介紹了Python中的“_args”和“__kwargs”用法,需要的朋友可以參考下

*args 和 **kwargs

首先,要知道的是并不是必須寫成*args和**kwargs。 只有變量前?的*才是必須的。所以,你也可以寫成*var 和**vars。寫成*args 和**kwargs只是?個(gè)通俗的命名約定。

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

這里的不定的意思是: 預(yù)先并不知道,函數(shù)使?者會(huì)傳遞多少個(gè)參數(shù),所以在這個(gè)場(chǎng)景下使用這兩個(gè)關(guān)鍵字。

*args 的用法

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

來(lái)看一個(gè)例子,可以幫助理解:

def test_var_args(f_arg, *argv):
    print("first normal arg:", f_arg)
    for arg in argv:
        print("another arg through *argv:", arg)
 
>>> test_var_args('yasoob', 'python', 'eggs', 'test')
first normal arg: yasoob
another arg through *argv: python
another arg through *argv: eggs
another arg through *argv: test

**kwargs的用法

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

def greet_me(**kwargs):
    for key, value in kwargs.items():
        print("{0} == {1}".format(key, value))
        
>>> greet_me(name="yasoob")
name == yasoob

使? *args 和 **kwargs 來(lái)調(diào)用函數(shù)

接下來(lái)學(xué)習(xí)一下怎樣使用*args 和**kwargs來(lái)調(diào)用?個(gè)參數(shù)為列表或者字典的函數(shù)。

現(xiàn)在有這樣?個(gè)函數(shù):

def test_args_kwargs(arg1, arg2, arg3):
    print("arg1:", arg1)
    print("arg2:", arg2)
    print("arg3:", arg3)

可以使用*args或**kwargs來(lái)給這個(gè)函數(shù)傳遞參數(shù)。 比如這樣使用*args:

>>> args = ("two", 3, 5)
>>> test_args_kwargs(*args)
arg1: two
arg2: 3
arg3: 5

標(biāo)準(zhǔn)參數(shù)與*args、**kwargs在使用時(shí)的順序:

some_func(fargs, *args, **kwargs)  

啥時(shí)候用

  • 最常見的用例是在寫函數(shù)裝飾器的時(shí)候。

  • 它也可以用來(lái)做猴子補(bǔ)丁。

到此這篇關(guān)于Python中的“_args”和“__kwargs”用法的文章就介紹到這了,更多相關(guān)Python args和kwargs用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 值得收藏的10道python 面試題

    值得收藏的10道python 面試題

    本文給大家分享值得收藏的10道python 面試題,非常不錯(cuò),具有一定收藏價(jià)值,需要的朋友可以參考下
    2019-04-04
  • 使用PyTorch/TensorFlow搭建簡(jiǎn)單全連接神經(jīng)網(wǎng)絡(luò)

    使用PyTorch/TensorFlow搭建簡(jiǎn)單全連接神經(jīng)網(wǎng)絡(luò)

    在本篇博客中,我們將介紹如何使用兩大深度學(xué)習(xí)框架——PyTorch 和 TensorFlow,構(gòu)建一個(gè)簡(jiǎn)單的全連接神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)包含輸入層、一個(gè)隱藏層和輸出層,適合初學(xué)者理解神經(jīng)網(wǎng)絡(luò)的基本構(gòu)建模塊及訓(xùn)練流程,需要的朋友可以參考下
    2025-02-02
  • Python實(shí)現(xiàn)的redis分布式鎖功能示例

    Python實(shí)現(xiàn)的redis分布式鎖功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的redis分布式鎖功能,結(jié)合實(shí)例形式分析了Python操作redis分布式鎖與解鎖功能相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • Python Pandas實(shí)現(xiàn)數(shù)據(jù)分組求平均值并填充nan的示例

    Python Pandas實(shí)現(xiàn)數(shù)據(jù)分組求平均值并填充nan的示例

    今天小編就為大家分享一篇Python Pandas實(shí)現(xiàn)數(shù)據(jù)分組求平均值并填充nan的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python低層多線程接口_thread模塊的用法和特性

    Python低層多線程接口_thread模塊的用法和特性

    這篇文章主要介紹了Python低層多線程接口_thread模塊的用法和特性,_thread是python標(biāo)準(zhǔn)庫(kù)中的一個(gè)低層多線程API,可以在進(jìn)程中啟動(dòng)線程來(lái)處理任務(wù),并且提供了簡(jiǎn)單的鎖機(jī)制來(lái)控制共享資源的同步訪問(wèn),本文就_thread模塊的用法和特性做個(gè)簡(jiǎn)單的演示,需要的朋友可以參考下
    2024-10-10
  • Django項(xiàng)目單字段區(qū)間查詢的實(shí)現(xiàn)

    Django項(xiàng)目單字段區(qū)間查詢的實(shí)現(xiàn)

    在Django項(xiàng)目中會(huì)碰到一些需求就是查詢某個(gè)表中的一些字段從某日到某日的數(shù)據(jù),你可以像在SQL中那樣使用SELECT語(yǔ)句來(lái)查找指定字段,本文就來(lái)介紹兩種方法,感興趣的可以了解一下
    2023-10-10
  • Python建造者模式案例運(yùn)行原理解析

    Python建造者模式案例運(yùn)行原理解析

    這篇文章主要介紹了python建造者模式案例運(yùn)行原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • tensorflow之自定義神經(jīng)網(wǎng)絡(luò)層實(shí)例

    tensorflow之自定義神經(jīng)網(wǎng)絡(luò)層實(shí)例

    今天小編就為大家分享一篇tensorflow之自定義神經(jīng)網(wǎng)絡(luò)層實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • python之pexpect實(shí)現(xiàn)自動(dòng)交互的例子

    python之pexpect實(shí)現(xiàn)自動(dòng)交互的例子

    今天小編就為大家分享一篇python之pexpect實(shí)現(xiàn)自動(dòng)交互的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python和Plotly實(shí)現(xiàn)3D圖形繪制

    Python和Plotly實(shí)現(xiàn)3D圖形繪制

    在當(dāng)今的數(shù)據(jù)分析和可視化領(lǐng)域,Python已經(jīng)成為一種不可或缺的工具,Plotly作為一種高級(jí)的繪圖庫(kù),特別擅長(zhǎng)于創(chuàng)建交互式和3D圖形,下面我們就來(lái)看看Python如何利用Plotly實(shí)現(xiàn)3D圖形繪制吧
    2024-11-11

最新評(píng)論