Python怎麼傳遞不定引數
不定長位置引數
使用*arg_name定義的位置引數,表示任意多個位置引數;Python標準庫中習慣使用*args來命名不定長位置引數,當然我們可以自定義
這個名稱;不定長位置引數的型別為元組;
Python 允許在形參前面新增一個星號(*),這樣就意味著該引數可接收多個引數值,多個引數值被當成元組傳入。
下面程式定義了一個形參個數可變的函式:
# 定義了支援引數收集的函式 def test(a, *books) : print(books) # books被當成元組處理 for b in books : print(b) # 輸出整數變數a的值 print(a) # 呼叫test()函式 test(5 , "php中文網" , "Python教程")
執行上面程式,將看到如下執行結果:
('php中文網', 'Python教程') php中文網 Python教程 5
從上面的執行結果可以看出,當呼叫 test() 函式時,books 引數可以傳入多個字串作為引數值。從 test() 的函式體程式碼來看,引數收集的本質就是一個元組: Python 會將傳給 books 引數的多個值收整合一個元組。
Python 允許個數可變的形參可以處於形參列表的任意位置(不要求是形參列表的最後一個引數),但 Python 要求一個函式最多隻能帶一個支援“普通”引數收集的形參。例如如下程式:
# 定義了支援引數收集的函式 def test(*books ,num) : print(books) # books被當成元組處理 for b in books : print(b) print(num) # 呼叫test()函式 test("php中文網", "Python教程", num = 20
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2370/viewspace-2835546/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- vue事件帶預設引數,怎麼傳遞其他引數Vue事件
- 引數傳遞
- [Python] 傳遞引數前面的*或**Python
- python函式之引數傳遞Python函式
- JNI傳遞引數
- Mybatis引數傳遞MyBatis
- Python的函式引數傳遞:傳值?引用?Python函式
- python怎麼傳入不確定引數Python
- python中函式的引數傳遞Python函式
- [思] 當需要傳遞多個不定引數時,該如何設計 JavaScript 函式?JavaScript函式
- React事件傳遞引數React事件
- 路由元件傳遞引數路由元件
- Python語法—函式及引數傳遞Python函式
- JS的方法引數傳遞(按值傳遞)JS
- C#引數傳遞之值引數C#
- Python函式引數傳遞以及變數作用域Python函式變數
- Python引數傳遞,既不是傳值也不是傳引用Python
- python不定長引數如何呼叫函式?Python函式
- 請求引數的傳遞
- Shell學習【引數傳遞】
- JavaScript函式傳遞引數JavaScript函式
- out,ref,params引數傳遞
- 函式的引數傳遞函式
- 利用閉包傳遞引數
- SpringMVC之引數傳遞SpringMVC
- java 中引數的傳遞Java
- JavaScript函式引數傳遞JavaScript函式
- t-on-click 傳遞引數
- Python3之函式的引數傳遞與引數定義Python函式
- python 函式引數的傳遞(引數帶星號的說明)Python函式
- Java不定長引數Java
- 請問大哥,jdon的分頁標籤怎麼傳遞多個引數?
- 引數傳遞方式必須是const引用傳遞
- js中函式引數值傳遞和引用傳遞JS函式
- drf serializer 字首 get 是什麼? 如何傳遞引數?
- python中函式引數傳遞的幾種方法Python函式
- 引數傳遞機制之JWTJWT
- 函式作為引數傳遞函式