2011-10-08 15 views
18

Wiem, że funkcja dir() zwraca nazwy zdefiniowane w bieżącym zakresie lub nazwy zdefiniowane w obiekcie. Ale dlaczego nazywa się dir()? Czy to jakieś tajemnicze akronimy, takie jak CAR i CDR LISP-a?Co oznacza funkcja dir() Pythona?

+6

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

+0

Ach, więc to jest duplikatem. W takim razie zamknę to pytanie. Dzięki. –

+0

@ Y.HWong Zamknij to! Człowiek! – acgtyrant

Odpowiedz

14

Daje ci alfabetyczną listę poprawnych nazw (atrybutów) w zakresie (obiekt). Jest to właściwie znaczenie słowa katalogu w języku angielskim.

4

To prawdopodobnie tylko analogia do spisu katalogów. list() służy do tworzenia list, więc dir() służy do wymieniania elementów, które mają podobną strukturę drzewa do systemu plików.

Tylko zgadnij.

+0

Czy zadałem głupie pytanie? Czy to naprawdę proste? –

+0

trochę ... ale może angielski nie jest twoim pierwszym językiem? – wim

+0

@wim: Masz rację. Angielski nie jest moim pierwszym językiem. Widzę, że masz ponad 2000 reputacji. Możesz edytować moją odpowiedź. :-) –

2

Najprawdopodobniej jest to odniesienie do polecenia MSDOS DIR. DIR wyświetla katalogi, takie jak komenda Unix ls.

0

Wiem, że bez argumentów, zwraca listę nazw w bieżącym zakresie lokalnym. Na przykład:

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

Z argumentami, zwraca posortowaną klucze Słownik wszystkimi atrybutami tego obiektu. na przykład:

>>>import sys 
>>>dir(sys) 
[a bunch of attributes of sys]