python函數參數類型及其順序

来源:https://www.cnblogs.com/sheshouxin/archive/2019/02/24/10428593.html
-Advertisement-
Play Games

根據inspect模塊官文文檔中關於函數參數類型的相關說明,python函數參數共有五種類型,按順序分別為:POSITIONAL_ONLY、POSITIONAL_OR_KEYWORD、VAR_POSITIONAL、KEYWORD_ONLY、VAR_KEYWORD。如圖: POSITIONAL_ONL ...


根據inspect模塊官文文檔中關於函數參數類型的相關說明,python函數參數共有五種類型,按順序分別為:POSITIONAL_ONLY、POSITIONAL_OR_KEYWORD、VAR_POSITIONAL、KEYWORD_ONLY、VAR_KEYWORD。如圖:

POSITIONAL_ONLY:參數值必須以位置參數的形式傳遞。python沒有明確的語法來定義POSITIONAL_ONLY類型的參數,但很多內建或擴展模塊的函數中常常會接收這種參數類型,實際使用中不多見,這裡暫不考慮。

POSITIONAL_OR_KEYWORD:這種類型的參數在函數調用時既可以使用位置傳遞,也可以使用關鍵字傳遞,是最常見的一種參數類型。例如:

上圖中的參數a,b都是POSITIONAL_OR_KEYWORD類型,其中b為預設值參數,必須定義在非預設值參數後面。

VAR_POSITIONAL:即 *args 參數,屬於收集參數的一種,可以接收0個或多個位置參數。args是一個tuple,函數體可以直接從args中提取傳入的參數值。例如:

上圖中,*c為VAR_POSITIONAL參數,可傳遞的參數值類型沒有限制。註意:如果函數調用時傳遞了VAR_POSITIONAL參數,則POSITIONAL_OR_KEYWORD類型參數必須以位置參數的形式傳遞。

KEYWORD_ONLY:關鍵字參數,函數調用時必須以關鍵字的形式傳遞參數值。例如:

上圖中,d,e,f為KEYWORD_ONLY參數。其中e為有預設值的關鍵字參數,函數調用時,關鍵字參數間的順序可以打亂,但必須在位置參數後面。

VAR_KEYWORD:即 **kwargs 參數,屬於收集參數的一種,可以接收0個或多個關鍵字參數。kwargs是一個dict,函數體可以直接從kwargs中提取傳入的參數。例如:

上圖中,**g為VAR_KEYWORD參數,同樣,關鍵字參數順序不限,但必須在位置參數後面。

以上。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文主要介紹fio是如何運行的,並且以單線程、單job為例 fio的入口在fio.c中的main函數,下麵列出了main函數,此處只出示了一些調用的關鍵函數 在main函數中主要調用了兩個關鍵函數,parse_options,顧名思義,就是分析options,也就是fio的參數,而fio_backe ...
  • 前言 最近大家討論最多的就是《流浪地球》了,偶爾刷逼乎,狗血的事情也是層出不窮,各種撕逼大戰,有興趣的小伙伴可以自行搜索。 截止目前,《流浪地球》已上映20天,累計票房43.94億,豆瓣評分7.9分。博主是正月初七看的,票價有點小貴,整體效果還算可以,雖然劇情有點尷尬,各種鏡頭切換有時候看的稀里糊塗 ...
  • 首先, 還是以天氣為例, 準備如下數據: 輸出: 上面的例子就是以 'city' 為基準對兩個 dataframe 進行合併, 但是兩組數據都是高度一致, 下麵調整一下: 輸出:從輸出我們看出, 通過 merge 合併, 會取兩個數據的交集. 那麼, 我們應該可以設想到, 可以通過調整參數, 來達到 ...
  • 今天我們學習如何配置url、如何傳參、如何命名、以及渲染的方式,內容大致有以下幾個方面。 創建視圖函數並訪問 創建app django中url規則 捕獲參數 路徑轉換器 正則表達式 額外參數 渲染方式 創建視圖並訪問 項目中自帶的Python文件中,並沒有帶有視圖,因此我們自己創建一個,通常,我們把 ...
  • interpreter 解釋器 authentication 認證 Location 定位 invalid 無效的 ...
  • 今天總算開學了,當了班長就是麻煩,明明自己沒買書卻要帶著一波人去領書,那能怎麼辦呢,只能說我善人心腸哈哈哈,不過我腦子裡突然浮起一個念頭,大二還要不要繼續當這個班委呢,既然已經體驗過就可以適當放下了吧,用心在自己的研究上。晚上級會開完也就八點多了,開始打打題,今天在HDU杭電的ACM集訓題看到一個奇 ...
  • powershell腳本站點的搭建 一、Powersploit Powersploit是一款基於powershell的後滲透(Post-Exploitation)框架,集成大量滲透相關模塊和功能。 下載powersploit github地址: https://github.com/mattifes ...
  • 以各個城市的天氣為例, 先準備下麵的數據: 印度天氣的相關信息: 美國天氣的相關信息: 用 concat 組合上面兩個 dataframe: 輸出: 上面的輸出最左邊的序列號是重覆的, 原因是數據分別來自兩個 dataframe 的索引值, 可以通過忽略原本的索引來做改變: 輸出: 下麵再介紹另一種 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...