Python中*args和**kwargs的区别
https://www.cnblogs.com/yunguoxiaoqiao/p/7626992.html
(注:本文部分內(nèi)容摘自互聯(lián)網(wǎng),由于作者水平有限,不足之處,還望留言指正。)
????????中秋的夜,微涼,但卻始終看不見月亮。
?????? 我想,它一定是害羞了,悄悄的躲到了烏云的后面。
?????? 嗯,就是這樣,我真是太TM機智了。
???????正文:
?????? 注:《python核心編程第2版》的11.6可變長度的參數(shù)---章節(jié)中有詳細介紹。
一、*args的使用方法
????? *args 用來將參數(shù)打包成tuple給函數(shù)體調(diào)用
????? 例子一:
def function(*args):print(args, type(args))function(1) ????? 輸出結(jié)果以元組的形式展示:
????????????????????????
????? 例子二:
def function(x, y, *args):print(x, y, args)function(1, 2, 3, 4, 5) ? ? ? ?輸出結(jié)果:
?????????????????????
二、**kwargs的使用方法
????? **kwargs 打包關(guān)鍵字參數(shù)成dict給函數(shù)體調(diào)用
????? 例子一:
def function(**kwargs):print( kwargs, type(kwargs))function(a=2) ????? 輸出結(jié)果以列表形式展示:
???????????????????
???? 例子二:
def function(**kwargs):print(kwargs)function(a=1, b=2, c=3) ??? 輸出結(jié)果:
??????????????????
?
??? 注意點:參數(shù)arg、*args、**kwargs三個參數(shù)的位置必須是一定的。必須是(arg,*args,**kwargs)這個順序,否則程序會報錯。
def function(arg,*args,**kwargs):print(arg,args,kwargs)function(6,7,8,9,a=1, b=2, c=3) ??? 輸出結(jié)果:
?????????????????
??? 哎呀,寫完了。
??? 中秋節(jié),多想,多想提一壺酒? 約幾個老朋友? 駕一葉小船兒,
??? 迷失在故鄉(xiāng)江南水鄉(xiāng)里。小舟蕩清波,過萬水千山。
總結(jié)
以上是生活随笔為你收集整理的Python中*args和**kwargs的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 命令行运行Python脚本时传入参数的三
- 下一篇: 查看已安装tensorflow版本