欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

對python函數簽名的方法詳解

 更新時間:2019年01月22日 10:01:14   作者:BlackMatrix  
今天小編就為大家分享一篇對python函數簽名的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

函數簽名對象,表示調用函數的方式,即定義了函數的輸入和輸出。

在Python中,可以使用標準庫inspect的一些方法或類,來操作或創(chuàng)建函數簽名。

獲取函數簽名及參數

使用標準庫的signature方法,獲取函數簽名對象;通過函數簽名的parameters屬性,獲取函數參數。

# 注意是小寫的signature
from inspect import signature

def foo(value):
  return value

# 獲取函數簽名
foo_sig = signature(foo)
# 通過函數簽名的parameters屬性,可以獲取函數參數
foo_params = foo_sig.parameters

創(chuàng)建函數簽名

使用類Parameter的實例創(chuàng)建函數參數列表;使用Signature類,接受函數參數列表,實例化出函數簽名實例。

# 注意是首字母大寫的Signature
from inspect import Signature, Parameter

# 創(chuàng)建一個函數參數列表,列表內的元素由類Parameter的實例組成
# Parameter實例化時,依次接受參數名、參數類型、默認值和參數注解
# 默認值和參數類型默認為空,這里的空值不是None,而是Parameter.empty,代表沒有值
parms = [Parameter('x', Parameter.POSITIONAL_OR_KEYWORD),
     Parameter('y', Parameter.POSITIONAL_OR_KEYWORD),
     Parameter('z', Parameter.KEYWORD_ONLY, default=9)]

# 使用Signature類,接受函數參數列表,實例化出函數簽名實例
sig = Signature(parms)

檢查函數參數是否匹配簽名

使用函數簽名的bind的方法,檢查函數參數是否匹配簽名。

延續(xù)上面的例子,通過函數簽名的bind方法,接受函數參數,如果匹配,返回參數BoundArguments實例,如果不匹配,則拋出TypeError,并給出詳細的異常信息。

通過BoundArguments實例的屬性,可以獲取函數簽名、參數的值等內容。

bound_args_01 = sig.bind(1, 2, z=3)
# <BoundArguments (x=1, y=2, z=3)>
bound_args_02 = sig.bind(1, 2)
# <BoundArguments (x=1, y=2)>
bound_args_03 = sig.bind(1)
# TypeError
# missing a required argument: 'y'

以上這篇對python函數簽名的方法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python使用pandas實現(xiàn)對數據進行特定排序

    Python使用pandas實現(xiàn)對數據進行特定排序

    在數據分析和處理過程中,排序是一項常見而重要的操作,本文將詳細介紹如何利用pandas對數據進行特定排序,包括基本排序、多列排序、自定義排序規(guī)則等方面的內容,需要的可以了解下
    2024-03-03
  • python Dejavu庫快速識別音頻指紋實例探究

    python Dejavu庫快速識別音頻指紋實例探究

    這篇文章主要為大家介紹了python Dejavu庫快速識別音頻指紋實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Python入門基礎之變量及字符串

    Python入門基礎之變量及字符串

    Python是一個不錯的語言,Python語言簡單易懂還具有強大的編程能力,同時對于大數據分析有很明顯的幫助,這篇文章主要給大家介紹了關于Python入門基礎之變量及字符串的相關資料,需要的朋友可以參考下
    2022-01-01
  • python中矩陣合并、拼接、組合的實現(xiàn)示例

    python中矩陣合并、拼接、組合的實現(xiàn)示例

    本文主要介紹了python中矩陣合并、拼接、組合的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 使用?OpenCV-Python?識別答題卡判卷功能

    使用?OpenCV-Python?識別答題卡判卷功能

    這篇文章主要介紹了使用?OpenCV-Python?識別答題卡判卷,本文分步驟通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • python解析庫Beautiful?Soup安裝的詳細步驟

    python解析庫Beautiful?Soup安裝的詳細步驟

    Beautiful?Soup是python的一個庫,最主要的功能是從網頁抓取數據,下面這篇文章主要給大家介紹了關于python解析庫Beautiful?Soup安裝的詳細步驟,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Python數據分析基礎之異常值檢測和處理方式

    Python數據分析基礎之異常值檢測和處理方式

    這篇文章主要介紹了Python數據分析基礎之異常值檢測和處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 如何用Python實現(xiàn)簡單的Markdown轉換器

    如何用Python實現(xiàn)簡單的Markdown轉換器

    這篇文章主要介紹了如何用Python實現(xiàn)簡單的Markdown轉換器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • python實現(xiàn)水印圖片功能

    python實現(xiàn)水印圖片功能

    這篇文章主要為大家詳細介紹了python實現(xiàn)水印圖片功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python3標準庫之dbm UNIX鍵-值數據庫問題

    Python3標準庫之dbm UNIX鍵-值數據庫問題

    dbm是面向DBM數據庫的一個前端,DBM數據庫使用簡單的字符串值作為鍵來訪問包含字符串的記錄。這篇文章主要介紹了Python3標準庫:dbm UNIX鍵-值數據庫的相關知識,需要的朋友可以參考下
    2020-03-03

最新評論