2011-10-08 95 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] 
相关问题