Python檢視模組(變數、函式、類)方法
在匯入模組之後,開發者往往需要了解模組包含哪些功能,比如包含哪些變數、哪些函式、哪些類等,還希望能檢視模組中各成員的幫助資訊,掌握這些資訊才能正常地使用該模組。
為了檢視模組包含什麼,可以透過如下兩種方式:
使用 dir() 函式。
使用模組本身提供的 __all__ 變數。
前面章節已經介紹過 dir() 函式的基本用法,該函式可用於返回模組或類所包含的全部程式單元(包括變數、函式、類和方法等),但直接使用 dir() 函式預設會列出模組內所有的程式單元,包括以下畫線開頭的程式單元,而這些以下畫線開頭的程式單元其實並不希望被外界使用。
比如在 Python 的互動式直譯器中執行如下命令來匯入 string 模組(Python 內建的用於豐富字串功能的模組):
>>> import string
然後透過 dir() 函式來檢視該模組的內容,將可以看到如下輸出結果:
>>> dir(string) ['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_re', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctuation', 'whitespace']
很明顯,該模組內有大量以下畫線開頭的程式單元,其實這些程式單元並不希望被其他程式使用,因此列出這些程式單元意義不大。 為了過濾這些以下畫線開頭的程式單元,我們可以使用如下列表推導式來列出模組中的程式單元: 此命令使用 for 迴圈的列表推導式列出了 dir(string) 返回的所有不以下畫線開頭的程式單元,它們才是該模組希望被其他程式使用的程式單元。 此外,本章前面還介紹過模組中的 __all__ 變數,該變數相當於該模組開放的功能介面,因此也可透過該模組的 __all__ 變數來檢視模組內的程式單元。例如,在互動式直譯器中輸入如下命令: 對比前面列表推導式列出的結果和此處 __all__ 變數列出的結果,不難發現二者的輸出結果大致相同,這說明使用這兩種方式都可以檢視到模組所包含的程式單元。>>> [e for e in dir(string) if not e.startswith('_')]
['Formatter', 'Template', 'ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits',
'octdigits', 'printable', 'punctuation', 'whitespace']
>>> string.__all__
['ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable',
'punctuation', 'whitespace', 'Formatter', 'Template']
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/430/viewspace-2837302/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python檢視模組下的函式Python函式
- python中用函式初始化類變數Python函式變數
- django 的類檢視和函式檢視-雜談Django函式
- python---函式引數、變數Python函式變數
- python函式變長引數Python函式
- Python 函式(可變引數)Python函式
- Python 函式和變數作用域Python函式變數
- Python 函式和模組Python函式
- 路徑佈局-基於數學函式的檢視佈局方法函式
- Python課堂筆記 第7章 包、模組、函式與變數作用域Python筆記函式變數
- Python:檢視已安裝模組 和 檢視可匯入模組Python
- 【6】Django檢視函式Django函式
- javascript基礎(函式與方法的區別,變數作用域,變數和函式的宣告提前,函式作用域)(十五)JavaScript函式變數
- 在檢視類裡新增左鍵響應函式OnLButtonDown函式
- 檢視繫結變數變數
- Python函式引數傳遞以及變數作用域Python函式變數
- Python(2):建立函式模組Python函式
- 函式中的私有變數和特權方法函式變數
- php禁用函式設定及檢視方法詳解PHP函式
- 四、聊聊 pytest 的模組級、函式級、類級、方法級函式
- Python檢視模組幫助/文件Python
- Linux 環境變數的設定、檢視方法Linux變數
- 函式外與函式內的變數函式變數
- PHP函式,引數,可變參函式.PHP函式
- python教程 - 檢視python的可用模組Python
- Java - 24 類變數和類方法Java變數
- Django - 檢視層 - 檢視函式及快捷方式Django函式
- 向檢視傳遞變數變數
- Python 檢視當前環境所有變數的大小Python變數
- Linux下檢視 設 刪除 環境變數方法 .Linux變數
- Linux環境變數的設定和檢視方法Linux變數
- 十四、類變數和實列變數(python)變數Python
- Python 類,函式過載Python函式
- C#訪問或修改私有類、函式、變數、屬性C#函式變數
- Javascript 函式和變數提升JavaScript函式變數
- 13.1 函式中的變數函式變數
- postgresql中怎麼檢視函式SQL函式
- sql server檢視函式定義SQLServer函式