[Python] 傳遞引數前面的*或**
Python傳遞引數前面的*或**
先上結論:
func(*[1, 2, 3]) == func(1, 2, 3)
func(**{'name':'Spade_', 'number':'888888'}) == func(name='Spade_', number='888888')
如果你不懂Python四種常用的傳參方式,參考:[Python] 僅限位置引數和僅限關鍵字引數
1. 單星號 * 解析可變引數
傳遞引數前面的*,和不帶星號的使用,func()是一個接收可變引數的函式。
func(*[1, 2, 3]) == func(1, 2, 3)
func([1, 2, 3])
def func(*args): pass
我們列印一下,看看結論
def func(*args):
print(args)
for i in args:
print(i)
func(*[1, 2, 3])
print("======")
func([1, 2, 3])
(1, 2, 3)
1
2
3
(1, 2, 3)
1
2
3
======
([1, 2, 3],)
[1, 2, 3]
我們看到,*將[1,2,3]解析成了引數1, 2, 3。
2. 雙星號 * 解析可變關鍵字引數
def func(**kwargs):
print(kwargs)
for k, v in kwargs.items():
print(k, v)
func(**{'name':'Spade_', 'number':'888888'})
print("======")
func(name='Spade_', number='888888')
{'name': 'Spade_', 'number': '888888'}
name Spade_
number 888888
======
{'name': 'Spade_', 'number': '888888'}
name Spade_
number 888888
我們可以看到結果和開頭結論是一樣的。
相關文章
- Python怎麼傳遞不定引數Python
- 引數傳遞
- js獲取url傳遞引數,js獲取url?號後面的引數JS
- python中函式的引數傳遞Python函式
- Python的函式引數傳遞:傳值?引用?Python函式
- Mybatis引數傳遞MyBatis
- Python語法—函式及引數傳遞Python函式
- Python引數傳遞,既不是傳值也不是傳引用Python
- React事件傳遞引數React事件
- 路由元件傳遞引數路由元件
- JS的方法引數傳遞(按值傳遞)JS
- Python3之函式的引數傳遞與引數定義Python函式
- 引數傳遞方式必須是const引用傳遞
- 引數的定義和引數的傳遞
- Shell學習【引數傳遞】
- linux中main引數傳遞LinuxAI
- 利用閉包傳遞引數
- JavaScript函式傳遞引數JavaScript函式
- out,ref,params引數傳遞
- 請求引數的傳遞
- 函式的引數傳遞函式
- t-on-click 傳遞引數
- 『無為則無心』Python函式 — 29、Python變數和引數傳遞Python函式變數
- 使用python指令碼傳遞引數:(三種方式可收藏)Python指令碼
- react獲取當前頁面的url引數React
- 函式作為引數傳遞函式
- C++引數的傳遞方式C++
- 引數傳遞機制之JWTJWT
- JAVA基礎之-引數傳遞Java
- 函式引數傳遞及返回函式
- Java方法04:命令列傳遞引數、可變引數Java命令列
- 面試官問:Go 中的引數傳遞是值傳遞還是引用傳遞?面試Go
- 帶你深入理解傳遞引數
- GridView傳遞兩個引數的方法View
- apicloud拉起小程式並傳遞引數APICloud
- java 傳遞引數的兩種方式Java
- [ASP.NET] 使用Request 傳遞引數ASP.NET
- JavaScript 獲取 url 傳遞引數值JavaScript