Метод dir () пытается вернуть список допустимых атрибутов объекта.
Синтаксис dir()
:
dir ((объект))
dir () Параметры
dir()
занимает максимум один объект.
- объект (необязательно) -
dir()
пытается вернуть все атрибуты этого объекта.
Возвращаемое значение из dir ()
dir()
пытается вернуть список допустимых атрибутов объекта.
- Если у объекта есть
__dir__()
метод, метод будет вызван и должен вернуть список атрибутов. - Если у объекта нет
__dir__()
метода, этот метод пытается найти информацию из__dict__
атрибута (если он определен) и из объекта типа. В этом случае список, возвращенный из,dir()
может быть неполным.
Если объект не передан dir()
методу, он возвращает список имен в текущей локальной области.
Пример 1: Как работает dir ()?
number = (1, 2, 3) print(dir(number)) print('Return Value from empty dir()') print(dir())
Вывод
('__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getite__m__ __gt__ ',' __hash__ ',' __iadd__ ',' __imul__ ',' __init__ ',' __init_subclass__ ',' __iter__ ',' __le__ ',' __len__ ',' __lt__ ',' __mul__ ',' __ne__ ', , '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', append ', копировать ',' подсчитывать ',' расширять ',' индекс ','insert ',' pop ',' remove ',' reverse ',' sort ') Возвращаемое значение из пустого каталога () (' __annotations__ ',' __builtins__ ',' __doc__ ',' __loader__ ',' __name__ ',' __package__ ' , '__spec__', 'число')
Пример 2: dir () для пользовательского объекта
class Person: def __dir__(self): return ('age', 'name', 'salary') teacher = Person() print(dir(teacher))
Вывод
('возраст', 'имя', 'зарплата')