<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
*args 和 **kwargs主要用於函數定義,你可以將不定數量的引數傳遞給某個函數。
*args 不定引數(不定的意思是指,預先並不知道,函數使用者會傳遞多少個引數給你)
*args是用來傳送一個非鍵值對的可變數量的參數列給一個函數。
*args的用法:當傳入的引數個數未知,且不需要知道引數名稱時。
程式碼如下:
def func_arg(farg, *args): print("formal arg:", farg) for arg in args: print("another arg:", arg) func_arg(1,"youzan",'dba','hello') # 輸出結果如下: # formal arg: 1 # another arg: youzan # another arg: dba # another arg: hello
**kwargs 傳入鍵值對(例如:num1=11,num2=22)
**kwargs 允許將不定長度的鍵值對作為引數傳遞給一個函數。如果想要在一個函數裡處理帶名字的引數,應該使用 **kwargs。
程式碼如下:
#利用它轉換引數為字典 def kw_dict(**kwargs): return kwargs print(kw_dict(a=1,b=2,c=3)) # 輸出結果如下: # {'a': 1, 'b': 2, 'c': 3}
去面試的時候,做了一道筆試題——什麼是*args和**kwargs,區別在哪裡?
有點蒙,好像見過,但是不知道具體的意思。所以回來查了一下資料,做一下筆記。
總的來說,*args代表任何多個無名引數,返回的是元組;**kwargs表示關鍵字引數,所有傳入的key=value,返回字典;
*args 和 **kwargs 主要用於函數定義, 可以將不定數量的引數傳遞給一個函數。
*args 是用來發一個非鍵值對的可變數量的參數列給一個函數; kwargs允許將一個不定長度的鍵值對,作為引數傳遞給一個函數。如果需要在一個函數中處理帶名字的引數時,此時就應該使用kwargs了。
def test(a,*args,**kwargs): print(a) print(args) print(kwargs) test(1,3,5,7,c='2',d=4)
1
(3, 5, 7)
{‘c’: ‘2’, ‘d’: 4}
在test(1,3,5,7,c=‘2’,d=4)中,函數裡引數對應的數值為:a=1,*args表示剩下的沒有名稱的引數,**kwargs表示剩餘的鍵值對。
def ak(*args,**kwargs): print('args=',args) print('kwargs=',kwargs) print('***************************************') if __name__=='__main__': ak(2,4,6,8) ak(a=2,b=4,c=6,d=8) ak(2,4,6,8,a=1,b=3,c=5) ak('x', 2, None, a=4, b='6', c=8) #ak('a', a=1, 1, None, b='2', c=3)
同時使用*args和kwargs時,*args引數必須要列在kwargs前,否則會報錯。
ak('a', a=1, 1, None, b='2', c=3)
File “”, line 1
ak(‘a’, a=1, 1, None, b=‘2’, c=3)
^
SyntaxError: positional argument follows keyword argument
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45