Python dir ()

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 da dir()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")

Articoli interessanti...