| 簡明 Python 教程 |
| 第8章 模組 |
| 上一頁 |
dir()函數 |
下一頁 |
dir()函數
你可以使用內建的dir函數來列出模組定義的標識符。標識符有函數、類和變數。
當你為dir()提供一個模組名的時候,它返回模組定義的名稱列表。如果不提供參數,它返回當前模組中定義的名稱列表。
使用dir函數
例8.4 使用dir函數
$ python
>>> import sys
>>> dir(sys) # get list of attributes for sys module
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__',
'__stdin__', '__stdout__', '_getframe', 'api_version', 'argv',
'builtin_module_names', 'byteorder', 'call_tracing', 'callstats',
'copyright', 'displayhook', 'exc_clear', 'exc_info', 'exc_type',
'excepthook', 'exec_prefix', 'executable', 'exit', 'getcheckinterval',
'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding',
'getrecursionlimit', 'getrefcount', 'hexversion', 'maxint', 'maxunicode',
'meta_path','modules', 'path', 'path_hooks', 'path_importer_cache',
'platform', 'prefix', 'ps1', 'ps2', 'setcheckinterval', 'setdlopenflags',
'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout',
'version', 'version_info', 'warnoptions']
>>> dir() # get list of attributes for current module
['__builtins__', '__doc__', '__name__', 'sys']
>>>
>>> a = 5 # create a new variable 'a'
>>> dir()
['__builtins__', '__doc__', '__name__', 'a', 'sys']
>>>
>>> del a # delete/remove a name
>>>
>>> dir()
['__builtins__', '__doc__', '__name__', 'sys']
>>>
它如何工作
首先,我們來看一下在輸入的sys模組上使用dir。我們看到它包含一個龐大的屬性列表。
接下來,我們不給dir函數傳遞參數而使用它——預設地,它返回當前模組的屬性列表。注意,輸入的模組同樣是列表的一部分。
為了觀察dir的作用,我們定義一個新的變數a並且給它賦一個值,然後檢驗dir,我們觀察到在列表中增加了以上相同的值。我們使用del語句刪除當前模組中的變數/屬性,這個變化再一次反映在dir的輸出中。
關於del的一點注釋——這個語句在運行後被用來 刪除 一個變數/名稱。在這個例子中,del a,你將無法再使用變數a——它就好像從來沒有存在過一樣。
| 上一頁 |
上一級 |
下一頁 |
| 製造你自己的模組 |
首頁 |
概括 |