python 星號的使用

2022-03-16 20:46:34 字數 963 閱讀 7172

在呼叫或者使用函式的時候經常會出現*,有的時候用乙個,有的時候用兩個,這個含義具體是什麼呢?

def fun(*args):

print(isinstance(args, tuple)) #返回的是true

for i in args:

print(i)

fun(1, 2, 3)

上面的例子表示,我們雖然傳遞了3個引數1, 2, 3,但是fun函式把他們放到了乙個元組。並且引數的個數不限。

def fun2(**kwargs):

print(isinstance(kwargs, dict)) #返回的是true

pass

fun2(a=1, b=2, c=3)

上面的例子表明,使用兩個星號,我們傳遞的引數是被當作乙個字典來進行傳遞的,引數的個數不限。其實我們看kwargs這個名字就可以推出,這個引數是字典型別的。

def fun(a, b, c):

return a+b+c

test = [1, 2, 3]

print(fun(*test))

#把序列test中的每個元素,當作位置引數傳遞到函式中去,就不用test[0],test[1]這樣了

前提是傳遞序列中元素的個數應該和函式定義的引數。

實際上使用乙個星號其實是對列表進行解包操作。

def fun(c, b, a):#注意順序

return a==1 and b==2 and c==3

test =

print(fun(**test))

雖然字典中的定義的資料和函式定義的順序不一致,但是我們是按照關鍵字來進行函式賦值的,所以這個函式返回的結構是true

使用兩個星號實際是對字典進行解包操作。

python中 單星號( )與雙星號( )的使用

原帖位址見 python 12 星號變數的特殊用法 在python中,星號除了用於乘法數值運算和冪運算外,還有一種特殊的用法 在變數前新增單個星號或兩個星號 實現多引數的傳入或變數的拆解,本文將詳細介紹 星號引數 的用法。最初,星號變數是用在函式的引數傳遞上的,在下面的例項中,單個星號代表這個位置接...

python 中的 (星號)和 雙星號)簡介

python和c 不同,並沒有指標,因此python中的 號作用和c 中不同。網上對於這方面的教程寫的囉囉嗦嗦,一點不簡明扼要。看的讓人找不到重點。我這裡快速的講解一下。a 1 b 2c a b輸出c當然是1 2 2。相信這並非是大家關心的重點。這樣無需確保值與變數的個數相同。舉例來說 a,b,c ...

Python中星號 的用法

1 表示乘號 2 表示倍數,例如 def t msg,time 1 print msg time t hi 3 列印結果 列印3次 hi hi hi3 單個 星號 1 如 parameter是用來接受任意多個引數並將其放在乙個元組中。def demo p print p demo 1,2,3 1,2...