Il metodo dir () cerca di restituire un elenco di attributi validi dell'oggetto.
La sintassi di dir()
è:
dir ((oggetto))
Parametri dir ()
dir()
accetta al massimo un oggetto.
- oggetto (opzionale):
dir()
tenta di restituire tutti gli attributi di questo oggetto.
Valore restituito da dir ()
dir()
cerca di restituire un elenco di attributi validi dell'oggetto.
- Se l'oggetto ha un
__dir__()
metodo, il metodo verrà chiamato e dovrà restituire l'elenco degli attributi. - Se l'oggetto non ha
__dir__()
metodo, questo metodo cerca di trovare informazioni dall'attributo__dict__
(se definito) e dal tipo di oggetto. In questo caso, l'elenco restituito dadir()
potrebbe non essere completo.
Se un oggetto non viene passato al dir()
metodo, restituisce l'elenco dei nomi nell'ambito locale corrente.
Esempio 1: come funziona dir ()?
number = (1, 2, 3) print(dir(number)) print('Return Value from empty dir()') print(dir())
Produzione
('__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__get__get__', '__get_ __gt__ ',' __hash__ ',' __iadd__ ',' __imul__ ',' __init__ ',' __init_subclass__ ',' __iter__ ',' __le__ ',' __len__ ',' __lt__ ',' __mul__ ',' __new__ ',' __new__ ',' __new__ ',' __new__ ' , '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear copia "," conta "," estendi "," indice ","insert ',' pop ',' remove ',' reverse ',' sort ') Valore restituito da empty dir () (' __annotations__ ',' __builtins__ ',' __doc__ ',' __loader__ ',' __name__ ',' __package__ ' , "__spec__", "numero")
Esempio 2: dir () sull'oggetto definito dall'utente
class Person: def __dir__(self): return ('age', 'name', 'salary') teacher = Person() print(dir(teacher))
Produzione
("età", "nome", "stipendio")