dir
Возвращает имена [переменных], доступные в локальной области, либо атрибуты указанного объекта в алфавитном порядке.
dir([obj])
-> list - Список имён/атрибутов в алфавитном порядке.
obj -- Объект, для которого следует вернуть имена атрибутов.
При вызове без аргумента, возвращает имена [переменных], доступные в локальной области, иначе — атрибуты указанного объекта.
Определение в классе метода __dir__(), возвращающего список и имён, позволяет варьировать результат выполнения данной функии для экземпляров класса. Это может быть особенно полезно, когда класс определяет также методы доступа к атрибутам: __getattr__() и __getattribute__().
Для объектов, класс которых не определил
Возвращаемый список может включать не все атрибуты, особенно в случаях с переопределенным
Механизм извлечения имён может быть реализован по разному для различных типов:
1. Если объект является модулем, список будет содержать имена атрибутов модуля;
2. Если объект является типом или классом, список будет содержать имена атрибутов данного объекта и его родителей (вычисляются рекурсивно).
3. В других случаях список будет содержать имена атрибутов самого объекта, его класса, и классов-родителей (вычисляются рекурсивно).
dir(int) # ['__abs__', '__add__', '__and__', '__bool__', ... ]
dir('some') # ['__add__', '__class__', '__contains__', '__delattr__', ... ]
Определение в классе метода __dir__(), возвращающего список и имён, позволяет варьировать результат выполнения данной функии для экземпляров класса. Это может быть особенно полезно, когда класс определяет также методы доступа к атрибутам: __getattr__() и __getattribute__().
Для объектов, класс которых не определил
__dir__()
, функция попытается определить атрибуты по данным __dict__.Возвращаемый список может включать не все атрибуты, особенно в случаях с переопределенным
__getattr__()
.Механизм извлечения имён может быть реализован по разному для различных типов:
1. Если объект является модулем, список будет содержать имена атрибутов модуля;
2. Если объект является типом или классом, список будет содержать имена атрибутов данного объекта и его родителей (вычисляются рекурсивно).
3. В других случаях список будет содержать имена атрибутов самого объекта, его класса, и классов-родителей (вычисляются рекурсивно).
На заметку
Рассматриваемая функция по большей части используется в интерактивном режиме интерпретатора, и заточена на выдачу скорее наиболее интересных атрибутов, нежели исчерпывающего их списка, а потому её поведение может меняться от выпуска к выпуску. Так, например, если объектом является класс, то атрибуты его метакласса возвращены не будут.
Синонимы поиска: dir
В разделе «Встроенные функции»:
abs
all
any
apply
ascii
bin
callable
chr
classmethod
cmp
compile
delattr
divmod
enumerate
eval
exec
filter
format
getattr
globals
hasattr
hash
help
hex
id
input
isinstance
issubclass
iter
len
locals
map
max
min
next
oct
open
ord
pow
print
raw_input
reduce
repr
reversed
round
setattr
sorted
staticmethod
sum
super
unichr
vars
zip
На заметку
У нас есть представительство во ВКонтакте. Ссылка в самом низу страницы.