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

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Синтаксис:

dir ({object}) 

Параметры:

object  [необязательный]: принимает имя объекта 

возвращает:

dir() пытается чтобы вернуть действительный список атрибутов объекта, к которому он вызывается. Кроме того, функция dir() ведет себя по-разному с разными типами объектов, поскольку ее целью является получение наиболее подходящей, а не полной информации.

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

Код № 1: с импортом внешних библиотек и без него.

# Код Python3 для демонстрации dir()
# когда параметры не переданы


# Обратите внимание, что мы не импортировали никаких модулей

print ( dir ())



# Теперь давайте импортируем два модуля

import random

import math


# возвращать имена модулей, добавленные в
# локальное пространство имен, включая все
# существующие, как и раньше

печать ( dir ())

Выход:

[`__builtins__`,` __cached__`, `__doc__`,` __file__`, `__loader__`,` __name__`, `__package__`,` __spec__`] [ `__builtins__`, `__cached__`,` __doc__`, `__file__`,` __loader__`, `__name__`,` __package__`, `__spec__`,` math`, `random`] 

Код # 2:


# Код Python3 для демонстрации функции dir()
# когда объект модуля передается в качестве параметра.


# импортировать случайный модуль

import random



# Список распечаток, содержащих имена
# атрибутов в случайной функции

print ( "Содержимое случайной библиотеки::" )


# модуль Объект передается как параметр

print ( dir (random))

Вывод:

Содержимое случайной библиотеки: [`BPF`,` LOG4`, `NV_MAGICCONST`,` RECIP_BPF`, ` Случайный», «SG_MAGICCONST», «SystemRandom», «TWOPI», «_BuiltinMethodType», «_MethodTy pe`,` _Sequence`, `_Set`,` __all__`, `__builtins__`,` __cached__`, `__doc__`,` __file__`, `__loader__`,` __name__age__age `,` __spec__`, `_acos`,` _ceil` , `_cos`,` _e`, `_exp`,` _inst`, `_log`,` _pi`, `_random`,` _sha512`, `_sin`, `_ sqrt`,` _test`, `_test_generator`,` _urandom`, `_warn`,` betavariate`, `choice`,`expovariate`, `gammavariate`,`gauss`, `getrandbits`,`getstate`, `lognormvariate`,`normalvariate`,`paretovariate`,`randint` , `random`,` randrange`, `sample`, `seed`,` setstate`, `перетасовка`,` треугольный`, `uniform`,` vonmisesvariate`, `weibullvariate`] 

< b> Код № 3: Объект, переданный в качестве параметров.


# Когда объект списка передается как
# параметры для функции dir ()


# Список, содержащий
# некоторые случайные значения ‚Äã‚Äã

гики = [ "pythonengineering" , " gfg " , "Информатика" ,

"Данные Структуры" , "Алгоритмы" ]


# dir() также отобразит общие
# атрибуты словаря

d = {} # пустой словарь


# dir () вернет все доступные
# список методов в текущая локальная область

print ( dir (гики))



# Вызов dir() со словарем
#название " д" как параметр. Возвращает все
# доступные методы dict в
# текущую локальную область видимости

print ( dir ( г))

Вывод:

[`__add__`,` __class__`, `__contains__`,` __delattr__`, `__delitem__`,` __dir__`, `__doc__`,` __eq__`, `__format__`,` __ge__`, `__getattribute__`,` __getitem__`, `__gt__`,` __hash__`, `_ `,` __imul__`, `__init__`,` __iter__`, `__le__`,` __len__`, `__lt__`,` __mul__`, `__lt__` `,` __new__`, `__reduce__`,` __reduce_ex__`, `__repr__` ,` __reversed__`, `__rmul__`,` __setattr__`, `__setitem__`,` __sizeof__`, `__`str__`,` __subclassho, `__subclassho `очистить`,`копировать`,`счетчик`,`расширить`, `индекс `,` вставить`, `вытолкнуть`,` удалить`, `обратить`, `сортировать`] [`__class__`,` __contains__`, ` __delattr__`, `__delitem__`,` __dir__`, `__doc__`,` __eq__` , `__формат__`, ` __ge__`,` __getattribute__`, `__getitem__`,` __gt__`, `__hash__`,` __init__`, `__iter__`,` __le__`, `__len__`,` __lt__`, `__ne__`,` __new__`, `__reduce ` ,` __reduce_ex__`, `__repr__`,` __setattr__`, `__setitem__`,` __sizeof__`, `__str__`,` __subclasshook__`, `clear`,`copy`, `fromkeys`,`get`, `items`, ` keys`,` pop`, `popitem`,` setdefault`, `update`,` values`] 

Код № 4: Определяется пользователем — В качестве параметра передается объект класса с доступным методом __dir()__.


< tr>

# Демонстрационная программа Python3
# of dir() при использовании пользовательских объектов
Передано # параметров.


# Создайте простой класс с помощью __dir() __
# метод, чтобы продемонстрировать, как это работает

class Supermarket:


# Функция __dir() ___, которая перечисляет все

# основные атрибуты, которые будут использоваться.

def __dir __ ( self ):

return [ `customer_name` , ` product` ,

`количество` , ` цена` , `date` ]



# пользовательский объект класса супермаркета

my_cart = Супермаркет ()


# перечисление методов dir()

print ( dir (my_cart))

Вывод:

[`customer_name` , `дата`,` цена`, `продукт`,` количество`] 

Приложения:

  • Dir() имеет собственный набор применений . Обычно он используется для отладки в простых повседневных программах и даже в крупных проектах, выполняемых командой разработчиков. Способность dir() перечислять все атрибуты переданного параметра действительно полезна при обработке большого количества классов и функций по отдельности.
  • Функция dir() также может перечислить все доступные атрибуты для модуля/списка/словаря. Таким образом, он также дает нам информацию об операциях, которые мы можем выполнять с доступным списком или модулем, что может быть очень полезно, когда информации о модуле мало. Это также поможет вам быстрее освоить новые модули.