2011-10-08 37 views
18

我知道dir()函數可以讓您返回在當前範圍中定義的名稱或在對象中定義的名稱。但爲什麼叫dir()?它是否像LISP的CAR和CDR一些神祕的縮略詞?Python的dir()函數代表什麼?

+6

http://stackoverflow.com/questions/1842414/why-is-dir-named-dir-in-python – wim

+0

啊,所以這是一個重複。那麼我會解決這個問題。謝謝。 –

+0

@ Y.HWong關閉它!人! – acgtyrant

回答

14

它爲您提供了作用域(對象)中有效名稱(屬性)的按字母順序排列的列表。這幾乎是英語中目錄的含義。

4

這可能只是目錄列表的一個類比。 list()用於創建列表,因此dir()用於列出具有與文件系統類似的樹狀結構的元素對象。

只是一個猜測。

+0

我剛問過一個愚蠢的問題嗎?這真的很簡單嗎? –

+0

有點..但也許英語不是你的第一語言? – wim

+0

@wim:你說得對。英語不是我的第一語言。我看到你有超過2000的聲望。你可以編輯我的答案。 :-) –

2

很可能是對MSDOS的DIR命令的引用。 DIR執行目錄列表,如Unix命令ls

0

我知道沒有參數,它返回當前本地作用域中的名稱列表。例如:

>>>z = 3 
>>>def f1(): 
... x = 1 
... y = 2 
... print dir() 
... 
>>>f1() 
['x','y'] 
>>>print dir() 
['z',something else] 

使用參數,它返回該對象的所有屬性的排序字典鍵。例如:

>>>import sys 
>>>dir(sys) 
[a bunch of attributes of sys] 
相關問題