1. 程式人生 > >筆記-python-*號解包

筆記-python-*號解包

調用 ext 而已 rgs 註意 sum str 在定義函數時 發現

筆記-python-*號解包

在碼代碼時發現*號可以這樣使用:

str = ["abcd", "abce", "abcf"]
st = "fwefwe"
print(*str)
print(*st)

輸出:

abcd abce abcf
f w e f w e

原因:

其實只差一個*而已。*是python中一個賦值的技巧,叫做解包。

在定義函數時def func(*args, **kwargs),*代表不定個數的參數,以tuple的方式傳入,**則是以dict的方式。在使用函數的時候,也可以有類似的方法,調用func(*args)函數時,相當於把一個元組args拆開,當成參數傳進函數中,又叫參數解包。

下面是另一個案例:

# 參數解包:將整個list當做參數傳給函數
def add_fn(a, b, c):
return a + b + c


list = [1, 2, 4]
sum = add_fn(*list)
print("參數解包:", sum)

與此相對的是參數打包,一般使用tuple進行打包:

1、散態傳遞參數
func(*arg)

2、打包傳遞參數
func( arg=tuple())
{
func_exe(*arg)
}
註意實際函數調用時對參數進行解包。

3、單個參數打包元組
args=(‘bob‘,)

筆記-python-*號解包