*args和**kwargs在python中的做用

我發現PYTHON新手在理解*args和**kwargs這兩個魔法變量的時候有些困難。他們究竟是什麼呢?web

首先,我先告訴你們一件事情,完整地寫*args和**kwargs是沒必要要的,咱們能夠只寫*和**。你也能夠寫*var和**vars。寫*args和**kwargs只是一個你們都遵照的習慣。那如今讓咱們從*args講起。函數

*args的使用blog

*args和**kwargs容許你在給函數傳不定數量的參數。「不定量」意味着你在定義函數的時候不知道調用者會傳遞幾個參數進來。*args可以接收不定量的非關鍵字參數。下面這個例子可以說明這一點:get

image

這個例子產生的結果爲:it

image

這樣應該解釋得比較清楚了,下面,咱們來看**kwargs變量

**kwargs容許你傳遞不定量個關鍵字參數。若是你須要在函數中定義不定量個命名參數,那麼你就要**kwargs了。im

下面這個例子來演示這種用法d3

ad3c15f_看圖王.web

這個例子中咱們處理了一些關鍵字參數。這是**kwargs的基本用法,能夠看出**kwargs頗有用。接下來讓咱們說明使用*args和**kwargs來在調用函數時,給函數傳遞「一個列表的參數」,或者「一個字典的參數」。新手

使用*args和**kwargs來調用一個函數命名

下面咱們介紹如何使用*args和**kwargs來調用一個函數,假設你有這樣一個函數。

694a464_看圖王.web

下面咱們使用*args和**kwargs來給這個函數傳遞參數,咱們能夠這樣作:

b591ec5_看圖王.web

*args和**kwargs以及普通參數的使用順序

若是你想同時使用這三種參數,那麼它們之間的順序是

c1b6f0b_看圖王.web

相關文章
相關標籤/搜索