我們都必須熟悉 Python 模塊及其工作原理,我們還必須知道如何在程序中使用 Python 模塊來使用一些特定的功能。有時,我們中的許多人想知道我們已經安裝在系統中的 Python 模塊中有多少功能。這是每個人在使用某個特定工具時通常會想到的一個常見問題,回答這個問題並不像看起來那麼複雜。
根據模塊的大小和功能,Python 模塊中可能存在多個函數。如果我們去閱讀關於 Python 每個特定模塊的文檔,找出 Python 模塊中有多少函數,那麼這將會耗費我們大量的精力和時間。因此,必須有一些其他的方法,通過這些方法我們可以發現 Python 模塊中是否有多少函數,我們將在本教程中學習這些方法。我們將學習本教程中的方法,通過這些方法,我們可以很容易地找到給定 Python 模塊中有多少函數。
列出 Python 模塊的所有功能
在我們了解列出 Python 模塊中存在的所有函數的方法之前,我們必須了解我們需要知道模塊中存在多少函數的位置和原因。回答這個問題不僅會解決我們大多數人心中的疑問,還會使我們更加熱衷於學習方法。因此,首先,我們將看到下面給出的原因,為此我們需要檢查 Python 模塊中存在的函數:
- 有時,我們必須檢查安裝在我們系統中的模塊是否具有執行特定任務或我們已安裝系統的任務所需的所有功能。
- 很多時候,我們不想更新安裝在我們系統中的模塊,因此我們必須查看當前版本中是否存在我們需要的所有功能。
- 除此之外,有時我們不知道模塊中存在多少不同類型的函數,我們想知道 Python 模塊中存在的所有這些函數。
這些是人們考慮檢查 Python 模塊中存在的所有函數的主要原因,但是也可能有其他原因,這些原因因人而異。現在,我們將討論檢查 Python 模塊中所有函數列表的方法。
以下是幫助我們查找 Python 模塊中所有函數的方法:
- 通過 dir() 方法
- 通過檢查模塊
現在,我們將學習這兩種方法,並了解如何實現這種方法來列出 Python 模塊中的所有函數。
方法 1:使用 dir()函數:
我們可以簡單地在 Python shell 或命令提示符 shell 中使用 dir() 方法,列出 Python 模塊中存在的所有函數。我們首先要在 Python shell 中導入模塊,然後我們要在 dir() 方法中寫入模塊名稱,它將返回特定 Python 模塊中存在的所有函數的列表。讓我們通過下面的示常式序來理解這個方法的實現。
例 1:
看看下面的 Python 程序,我們在其中使用了 dir()函數中的statistics
模塊:
# Import the statistics Module
import statistics
# Use statistics inside dir() method
dir(statistics)
輸出:
['Counter', 'Decimal', 'Fraction', 'NormalDist', 'StatisticsError', '__all__', '__builtins__', ????, 'quantiles', 'random', 'sqrt', 'stdev', 'tau', 'variance']
正如我們所看到的,當我們在 Python shell 中導入 dir()方法之後使用了statistics
模塊時,Python shell 已經列出了statistics
模塊中存在的所有函數。
方法 2:使用檢查模塊:
在這個方法中,我們將使用 isfunction 和來自 inspect 模塊(Python 的一個內置模塊)的 getmembers 函數來列出 Python 模塊中存在的所有函數。我們將使用 for
循環遍歷模塊,列出我們想要列出的函數。這裡需要注意的一點是,我們不能使用這種方法列出 Python 內置模塊的函數,因為任何內置模塊中存在的函數類型都不會被視為 inspect 模塊的函數。讓我們通過下面的例子來理解這個方法的實現:
例 2:
看看下面的 Python 程序,我們在檢查模塊的函數中使用了 Numpy 模塊:
# Import the getmembers and isfunction from the Inspect module
from inspect import getmembers, isfunction
# Import the Numpy Module
import numpy
# Use for loop on the Numpy Module with isfunction() and getmembers() function
print(a for a in getmembers(numpy) if isfunction(a[1]))
輸出:
['ALLOW_THREADS', 'AxisError', 'BUFSIZE', 'CLIP', 'ComplexWarning', 'DataSource', 'ERR_CALL', 'ERR_DEFAULT', 'ERR_IGNORE', ???., 'version', 'void', 'void0', 'vsplit', 'vstack', 'warnings', 'where', 'who', 'zeros', 'zeros_like']
我們可以看到,Python shell 列出了 numpy 模塊中的所有函數。
原創文章,作者:WKZ0K,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127917.html