2011-10-08 85 views
18

Sé que la función dir() te devuelve los nombres definidos en el ámbito actual o los nombres definidos en un objeto. Pero, ¿por qué se llama dir()? ¿Se trata de acrónimos misteriosos como CAR y CDR de LISP?¿Qué significa la función dir() de Python?

+6

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

+0

Ah por lo que este es un duplicado. Voy a cerrar esta pregunta entonces. Gracias. –

+0

@ Y.HWong ¡Ciérralo! ¡Hombre! – acgtyrant

Respuesta

14

Le da una lista alfabética de nombres (atributos) válidos en el alcance (objeto). Este es más o menos el significado de la palabra del directorio en inglés.

4

Probablemente sea solo una analogía de la lista de directorios. list() se usa para crear listas, por lo que dir() se usa para enumerar elementos objeto que tiene una estructura similar a un árbol similar al sistema de archivos.

Solo supongo.

+0

¿Acabo de hacer una pregunta estúpida? ¿Es realmente simple así? –

+0

un poco ... pero tal vez el inglés no es tu primer idioma? – wim

+0

@wim: tienes razón. El inglés no es mi primer idioma. Veo que tienes más de 2000 reputación. Puedes editar mi respuesta. :-) –

2

Es muy probable que sea una referencia al comando DIR de MSDOS. DIR hace listas de directorios, como el comando de Unix ls.

0

Sé que sin argumentos, devuelve una lista de nombres en el ámbito local actual. Por ejemplo:

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

Con argumentos, devuelve una clave de diccionario ordenada de todos los atributos de ese objeto. por ejemplo:

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