日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python函数参数*args和**args

發布時間:2025/5/22 python 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python函数参数*args和**args 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

工作原因,需要了解Python,朋友推薦了Python學習手冊4

看了兩天,實在忍不住吐槽一下,翻譯水平的實在讓人失望,后悔買了(而且如果你像作者一樣,會點java,剛接觸這本書,估計要抓狂了 ? --!)

? ? 函數參數的*args,看一遍就能明白

1 def test(name,*a): 2 print(name) 3 print(a)

? ? test('aaaa',1,2,3,4,5)

? ? 執行結果應該如下

? ? 'aaaa'

? ? (1,2,3,4,5)

? ? 其實,這個就像java里面的可變參數... ? 不知道形容的對不,就這么理解吧。。。

? ? 再看下面這個:

>>def test(name,**args): .... print(name) .... print(args)>>test('aaa',a=1,b=2,c=3)>>'aaa'>>{'a':1,'b':2,'c':3}

? ? 呃,原來是字典,但為什么書里面翻譯我看不懂. --!

?

? ? 好吧,有些函數調用的時候有test(*(1,2,3,4))

? ? 如下:

>>def test(a,b,c,d,e): .... print(a,b,c,d,e)>>t = (1,2,3,4)>>test('aa',*t)>>('aa',1,2,3,4)

? ? 明白了吧,實際上就是把*后面的參數解包

? ? 你可以試下test('aa','bb',*t) ? ?? ?test(*t)

? ??

? ? 更變態的是,居然還有**的,難道把字典解包,那傳入的是字典的key還是value?

? ??

>>def test(a,b,c,d): .... print(a,b,c,d)>>a = {'a':1,'b':2,'c':3,'d':4}>>test(**a)

>>(1,2,3,4)

? ? 呃,原來傳入的是value。。那如果字典a的鍵值對數量不夠或者過多,會怎么樣。??梢栽囋?/p>

? ? 我覺得,如果你試了上面的,這個就應該猜出來了

?

轉載于:https://www.cnblogs.com/shiluocn/p/4862414.html

總結

以上是生活随笔為你收集整理的python函数参数*args和**args的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。