A Byte of Python

La funció dir()

La funció integrada dir permet llistar els identificadors que defineix un mòdul. Els identificadors són les funcions, classes i variables definides al mòdul.

Quan passem el nom d'un mòdul a la funció dir() , aquesta ens torna la llista dels noms definits al mòdul. Quan no li passem cap argument, ens retorna la llista dels noms definits al mòdul actual.

Ús de la funció dir

Example 8.4. Ús de la funció dir

				
$ python
>>> import sys
>>> dir(sys) # obté la llista d'atributs del mòdul sys
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__',
'__stdin__', '__stdout__', '_getframe', 'api_version', 'argv',
'builtin_module_names', 'byteorder', 'call_tracing', 'callstats',
'copyright', 'displayhook', 'exc_clear', 'exc_info', 'exc_type',
'excepthook', 'exec_prefix', 'executable', 'exit', 'getcheckinterval',
'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding',
'getrecursionlimit', 'getrefcount', 'hexversion', 'maxint', 'maxunicode',
'meta_path','modules', 'path', 'path_hooks', 'path_importer_cache',
'platform', 'prefix', 'ps1', 'ps2', 'setcheckinterval', 'setdlopenflags',
'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout',
'version', 'version_info', 'warnoptions']
>>> dir() # obté la llista d'atributs d'aquest mòdul
['__builtins__', '__doc__', '__name__', 'sys']
>>>
>>> a = 5 # crea la nova variable 'a'
>>> dir()
['__builtins__', '__doc__', '__name__', 'a', 'sys']
>>>
>>> del a # elimina el nom de la variable a
>>>
>>> dir()
['__builtins__', '__doc__', '__name__', 'sys']
>>>
				
				

Com funciona

Primerament veiem l'ús de la funció dir al mòdul importat sys i la gran quantitat d'atributs que hi conté.

A continuació fem servir la funció dir sense passar-li cap argument - per defecte ens retorna la llista d'atributs del mòdul actual. Notem que la llista inclou els mòduls importats.

A continuació definim la variable a , li assignem un valor i cridem a dir . Veiem que apareix un nou valor a la llista amb el nom de la nova variable. Eliminem ara la variable (o atribut) del mòdul actual fent servir la instrucció del i el canvi queda reflectit novament a la sortida de la funció dir .

Sobre la instrucció del : aquesta instrucció es fa servir per a eliminar un nom o variable. Un cop executat, en aquest cas del a, la variable a deixa d'estar disponible, com si mai hagués existit.