Функция 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']