args 和 kwargs的用法

2021-09-25 17:57:03 字數 1491 閱讀 5539

目錄

一、*args 的用法

二、**kwargs 的用法

*args**kwargs主要用於函式定義。 你可以將不定數量的引數傳遞給乙個函式。

首先, 其實並不是必須寫成*args**kwargs。 只有變數前面的*(星號)才是必須的. 你也可以寫成*var**vars. 而寫成*args**kwargs只是乙個通俗的命名約定。 我們先看一下*args

這裡的不定的意思是:預先並不知道, 函式使用者會傳遞多少個引數給你, 所以在這個場景下使用這兩個關鍵字。*args是用來傳送乙個非鍵值對的可變數量的引數列表給乙個函式.

舉個例子:

def test_var_args(f_arg, *ar**):

print("first normal arg:", f_arg)

for arg in ar**:

print("another arg through *ar**:", arg)

test_var_args('yasoob', 'python', 'eggs', 'test')

out:

first normal arg: yasoob

another arg through *ar**: python

another arg through *ar**: eggs

another arg through *ar**: test

從資料結果我們可以看出:

第乙個引數f_arg,賦值自己有「yasoob」;

而引數ar**,賦了三個值:python、eggs、test

**kwargs允許你將不定長度的鍵值對, 作為引數傳遞給乙個函式。 如果你想要在乙個函式裡處理帶名字的引數, 你應該使用**kwargs。----也就是字典

例子:

def greet_me(**kwargs):

for key, value in kwargs.items():

print(" == ".format(key, value))

greet_me(x="a",y="b")

out:

x == a

y == b

ps:items() 函式以列表返回可遍歷的(鍵, 值) 元組陣列。

args和 kwargs的用法

從實參角度,看 args的用法 按位置傳值,多出來的值,會被 統一接收,儲存成元組的形式。並賦值給args。args需要放到位置引數x的後面 args與y 1一般不會放到一起用 args 元組 args x,y,z 當成位置引數看 當成關鍵字來看 def foo x,grgs args 2,3,4,...

python的 args和 kwargs用法

python的 args和 kwargs如何用,看了下面的例子你就清楚了。先來看乙個例子 複製 如下 def foo args,kwargs print args args print kwargs kwargs print if name main foo 1,2,3,4 foo a 1,b 2,...

args和 kwargs的區別

args將引數打包成元組的形式供函式呼叫 def args test x,args print x,args args test 1,2,3,4 執行結果為 1 2,3,4 kwargs將關鍵字引數打包成字典的形式功函式呼叫 def kwargs test kwargs print kwargs k...