Функция dir( ) в Python

Обложка к статье "Функция dir( ) в Python"

Функция dir в Python используется для получения списка атрибутов и методов объекта. Она может быть полезна для интроспекции объектов, то есть для исследования и работы с объектами во время выполнения программы.

Синтаксис

dir([object])

Параметры

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

Возвращаемое значение

Функция возвращает отсортированный в алфавитном порядке список строк, представляющих атрибуты и методы указанного объекта. Если объект не указан, возвращается список имен в текущей локальной области видимости.

Примеры использования

Пример 1: Получение атрибутов и методов объекта

class Sample:
    def __init__(self):
        self.x = 10
        self.y = 20

    def display(self):
        print(self.x, self.y)

sample_instance = Sample()
print(dir(sample_instance))

Этот код выведет список всех атрибутов и методов объекта sample_instance, включая атрибуты, унаследованные от базового класса:

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__',
 '__eq__', '__format__', '__ge__', '__getattribute__',
 '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__',
 '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__',
 '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__',
 '__subclasshook__', '__weakref__', 'display', 'x', 'y']

Пример 2: Получение атрибутов и методов встроенного объекта

print(dir([]))  # Список атрибутов и методов для списка
print(dir({}))  # Список атрибутов и методов для словаря
print(dir(''))  # Список атрибутов и методов для строки

Пример 3: Получение имен в текущей локальной области видимости

a = 10
b = 20

def my_function():
    c = 30
    print(dir())  # Список имен в локальной области видимости функции

print(dir())  # Список имен в глобальной области видимости

На выводе получим:

['__annotations__', '__builtins__', '__cached__', '__doc__',
 '__file__', '__loader__', '__name__', '__package__', '__spec__', 
'a', 'b', 'my_function']

Оцените статью
( Пока оценок нет )
Обучение Python
Добавить комментарий