Python元組_參數長度可變


函數的參數可以有任意多個;用星號*開頭來作為形式參數名,可以將所有實際參數收錄到一個元組中。

例如 printall 就可以獲取任意多個數的參數,然后把它們都打印輸出:

>>> def printall(*args):

...     print(args)

... 

你可以隨意命名收集來的這些參數:

>>> printall(1, 2.0, '3', 'apple')

(1, 2.0, '3', 'apple')

與聚集相對的就是分散了;如果有一系列的值,然后想把它們作為多個參數傳遞給一個函數,就可以用星號*運算符。

比如 divmod 要求必須是兩個參數;但如果給它一個元組,是不能進行運算的:

>>> t = (7, 3)

>>> divmod(t)

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: divmod expected 2 arguments, got 1

但如果拆分這個元組,就可以了:

>>> divmod(*t)

(2, 1)

很多內置函數都用到了參數長度可變的元組。比如 max 和 min 就可以接收任意數量的參數:

>>> max(1, 2, 3)

3

但求和函數 sum 就不行了:

>>> sum(1, 2, 3)

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: sum expected at most 2 arguments, got 3

結束。


免責聲明!

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



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