Python dir()

La funzione dir() cerca di restituire una lista di attributi validi dell'oggetto passato come argomento.

La sintassi di dir() è:

dir([oggetto])

Come puoi vedere dalla sintassi dir() prende al massimo un oggetto.

dir() cerca di restituire una lista di attributi validi dell'oggetto.

Se l'oggetto ha il metodo __dir__(), il metodo sarà richiamato e dovrà restituire la lista degli attributi.

Se l'oggetto non ha il metodo __dir__(), questo metodo cerca di trovare informazioni dall'attributo __dict__ (se definito), e dall'oggetto tipo. In questo caso, la lista restituita da dir() potrebbe non essere completa.

num = [1, 2, 3]
print (dir(num))

print ('\ndir() vuoto:')
print (dir())

Output del codice

['__add__', '__class__',
'__contains__',
'__delattr__', '__delitem__',
'__dir__',
'__doc__', '__eq__', '__format__',
'__ge__', '__getattribute__',
'__getitem__', '__gt__', '__hash__',
'__iadd__', '__imul__', '__init__',
'__init_subclass__', '__iter__',
'__le__',
'__len__', '__lt__', '__mul__',
'__ne__',
'__new__', '__reduce__',
'__reduce_ex__',
'__repr__', '__reversed__',
'__rmul__',
'__setattr__', '__setitem__',
'__sizeof__',
'__str__', '__subclasshook__',
'append',
'clear', 'copy', 'count', 'extend',
'index', 'insert', 'pop',
'remove', 'reverse', 'sort']

dir() vuoto:
['__annotations__', '__builtins__',
'__cached__', '__doc__',
'__file__', '__loader__',
'__name__',
'__package__', '__spec__', 'num']