python 函數參數的傳遞(參數帶星號的說明) 元組傳遞 字典傳遞


python 函數參數的傳遞(參數帶星號的說明) 元組傳遞 字典傳遞

*arg 代表的是arg元祖,**kwd代表的是kwd名稱的字典。 

那函數傳參數或是使用參數的時候,什么時候帶*號什么時候不帶*號呢?我這點總是理解不上來,或者說有點混亂。參考下面幾個小函數,來理解下

>>> def a(*x):
print (x)

>>> def b(x):
print(x)


>>> def c(*x):
print(*x)


>>> x = (1,2,3)
>>> a(x)
((1, 2, 3),)
>>> a(*x)
(1, 2, 3)
>>> b(x)
(1, 2, 3)
>>> b(*x)
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
b(*x)
TypeError: b() takes 1 positional argument but 3 were given
>>> c(x)
(1, 2, 3)
>>> c(*x)
1 2 3

這樣就清楚了。*arg就是要把形參名為arg的列表內容打散。 arg不帶星,則表示為列表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM