Metoda dir () próbuje zwrócić listę prawidłowych atrybutów obiektu.
Składnia dir()
to:
dir ((obiekt))
dir () Parametry
dir()
zajmuje maksymalnie jeden obiekt.
- obiekt (opcjonalny) -
dir()
próbuje zwrócić wszystkie atrybuty tego obiektu.
Wartość zwracana z dir ()
dir()
próbuje zwrócić listę prawidłowych atrybutów obiektu.
- Jeśli obiekt ma
__dir__()
metodę, metoda zostanie wywołana i musi zwrócić listę atrybutów. - Jeśli obiekt nie ma
__dir__()
metody, ta metoda próbuje znaleźć informacje z__dict__
atrybutu (jeśli jest zdefiniowany) iz obiektu typu. W takim przypadku lista zwrócona zdir()
może nie być kompletna.
Jeśli obiekt nie zostanie przekazany do dir()
metody, zwraca listę nazw w bieżącym zakresie lokalnym.
Przykład 1: Jak działa dir ()?
number = (1, 2, 3) print(dir(number)) print('Return Value from empty dir()') print(dir())
Wynik
('__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__em', '__getattribute__em', '__getattribute__em', __gt__ ',' __hash__ ',' __iadd__ ',' __imul__ ',' __init__ ',' __init_subclass__ ',' __iter__ ',' __le__ ',' __len__ ',' __lt__ ',' __mul__ ',' __ne__ ', , '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', kopiuj ',' licznik ',' rozszerz ',' indeks ','insert ',' pop ',' remove ',' reverse ',' sort ') Wartość zwracana z pustego katalogu () (' __annotations__ ',' __builtins__ ',' __doc__ ',' __loader__ ',' __name__ ',' __package__ ' , „__spec__”, „numer”)
Przykład 2: dir () na obiekcie zdefiniowanym przez użytkownika
class Person: def __dir__(self): return ('age', 'name', 'salary') teacher = Person() print(dir(teacher))
Wynik
(„wiek”, „nazwisko”, „wynagrodzenie”)