English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Python

Управление потоком Python

Функции в Python

Типы данных в Python

Файловые операции Python

Объекты и классы Python

Даты и время Python

Продвинутые знания Python

Руководство Python

Метод dir() в Python: использование и примеры

Внутренние функции Python

Метод dir() пытается вернуть список эффективных свойств объекта.

Синтаксис dir():

dir([object])

Параметры dir()

dir() может содержать один объект.

  • Объект(опционально) - dir() пытается вернуть все свойства этого объекта.

Возвратное значение dir()

dir() пытается вернуть список эффективных свойств объекта.

  • Если у объекта есть метод __dir__(), он вызывается, и должен быть возвращен список свойств.

  • Если у объекта нет метода __dir__(), этот метод пытается найти информацию из атрибута __dict__ (если он определен) и типа объекта. В этом случае список, возвращаемый из dir(), может быть неполным.

Если объект не передается методу dir(), он вернет список имен в текущем локальном диапазоне.

Пример 1: как работает dir()?

number = [1, 2, 3]
print(dir(number))
print('\nВозврат значения из пустого каталога()')
print(dir())

При выполнении этого программы, вывод будет:

__add__, __class__, __contains__, __delattr__, __delitem__, __dir__, __doc__, __eq__, __format__, __ge__, __getattribute__, __getitem__, __gt__, __hash__, __iadd__, __imul__, __init__, __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()
__builtins__, number

Пример 2: dir() на пользовательских объектах

class Person:
  def __dir__(self):
    return ['возраст', 'имя', 'зарплата']
    
teacher = Person()
print(dir(teacher))

При выполнении этого программы, вывод будет:

['возраст', 'имя', 'зарплата']

Внутренние функции Python