Python dir()函數

來源:互聯網
上載者:User

標籤:

您可以使用內建的dir()函數列出一個定義對象的標識符。例如,對於一個模組,包括在模組中定義的函數,類和變數。

當你給dir()提供一個模組名字時,它返回在那個模組中定義的名字的列表。當沒有為其提供參數時, 它返回當前模組中定義的名字的列表。

dir() 函數舉例:
>>> import sys  # 獲得屬性列表,在這裡是sys模組的屬性列表

>>> dir(sys)
[‘__displayhook__‘, ‘__doc__‘, ‘__excepthook__‘, ‘__name__‘, ‘__package__‘, ‘__stderr__‘, ‘__stdin__‘, ‘__stdout__‘, ‘_clear_type_cache‘, ‘_compact_freelists‘,‘_current_frames‘, ‘_getframe‘, ‘api_version‘, ‘argv‘, ‘builtin_module_names‘, ‘byteorder‘, ‘call_tracing‘, ‘callstats‘, ‘copyright‘, ‘displayhook‘, ‘dllhandle‘, ‘dont_write_bytecode‘, ‘exc_info‘, ‘excepthook‘, ‘exec_prefix‘, ‘executable‘,‘exit‘, ‘flags‘, ‘float_info‘, ‘getcheckinterval‘, ‘getdefaultencoding‘, ‘getfilesystemencoding‘, ‘getprofile‘, ‘getrecursionlimit‘, ‘getrefcount‘, ‘getsizeof‘,‘gettrace‘, ‘getwindowsversion‘, ‘hexversion‘, ‘intern‘, ‘maxsize‘, ‘maxunicode‘, ‘meta_path‘, ‘modules‘, ‘path‘, ‘path_hooks‘, ‘path_importer_cache‘, ‘platform‘, ‘prefix‘, ‘ps1‘, ‘ps2‘, ‘setcheckinterval‘, ‘setprofile‘, ‘setrecursionlimit‘, ‘settrace‘, ‘stderr‘, ‘stdin‘, ‘stdout‘, ‘subversion‘, ‘version‘, ‘version_info‘, ‘warnoptions‘, ‘winver‘]

>>> dir()  # 獲得當前模組的屬性列表
[‘__builtins__‘, ‘__doc__‘, ‘__name__‘, ‘__package__‘, ‘sys‘]

>>> a = 5  # 建立了一個新變數 ‘a‘

>>> dir()
[‘__builtins__‘, ‘__doc__‘, ‘__name__‘, ‘__package__‘, ‘a‘, ‘sys‘]

>>> del a  # 刪除/移除一個名字

>>> dir()
[‘__builtins__‘, ‘__doc__‘, ‘__name__‘, ‘__package__‘, ‘sys‘]

>>>

它是如何工作的:
首先,我們看到在匯入sys模組上使用使用dir。我們能看到模組包含的巨大的屬性列表。

然後,我們使用沒有傳遞參數的dir函數。預設情況下,它返回模組的屬性的列表。注意,匯入模組的列表仍然是這個列表的一部分。

為了看到 dir在起作用,我們定義了一個新的變數,並為其賦值,然後檢查dir,我們發現列表中添加了一個同名變數。我們使用del語句移除當前模組的變數或屬性,在 del函數的輸出中變化再次得到體現。

關於del的一點注意事項--這個語句用於刪除一個變數/屬性,語句運行後,這裡是del a,你不能再訪問變數a--就像它從來根本沒有存在過。

注意,dir()函數對任何對象都起作用。例如,運行dir(‘print‘)來學習print函數的屬性的更多知識,或運行dir(str)學習str類的屬性的更多知識。

Python dir()函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.