Python 中有很多內(nèi)置函數(shù),我們可以在程序中直接使用它們來實現(xiàn)特定的功能。但是,我們?nèi)绾沃肋@些函數(shù)的具體信息,比如函數(shù)的返回值、參數(shù)等屬性呢?這時候,Python 的 dir() 函數(shù)就起到了關(guān)鍵作用。
# 示例代碼 result = dir(some_function) print(result)
使用 dir() 函數(shù)可以查看函數(shù)的屬性,它返回一個包含字符串的列表,每個字符串代表函數(shù)的一個屬性。可以通過對 list 對象進(jìn)行操作來了解這些屬性的詳細(xì)信息。例如,你可以使用 help() 函數(shù)來獲得函數(shù)的文檔字符串和其他信息,如下所示:
# 示例代碼 result = dir(some_function) print(help(some_function)) # 輸出結(jié)果 Help on built-in function some_function: some_function(...) some_function(param1, param2, ..., paramN) ->value 函數(shù)的文檔說明
除了 dir() 函數(shù),Python 還提供了 inspect 模塊,它包含了一些用于獲取有關(guān) Python 對象的信息的函數(shù),其中就包括了用于查看函數(shù)屬性的函數(shù)。 inspect 模塊中最常用的函數(shù)是 signature() 函數(shù),它返回函數(shù)的參數(shù)信息,包括默認(rèn)值、參數(shù)類型等。下面是一個使用 inspect 模塊的例子:
# 示例代碼 import inspect def foo(a:int, b:str, c:float=1.0): pass sig = inspect.signature(foo) print(sig.parameters) print(sig.parameters['a'].annotation)
上述代碼中,我們通過 inspect 模塊中的 signature() 函數(shù)來獲取函數(shù) foo 的參數(shù)信息。執(zhí)行代碼后,我們可以看到返回的是一個 OrderedDict 類型的對象,它包含了函數(shù)參數(shù)的詳細(xì)信息。你可以使用參數(shù)名來獲取參數(shù)的特定信息,如上述代碼中的輸出結(jié)果所示。