Работа со стандартными модулями.
Прежде чем мы начнем изучать некоторые стандартные модули Python, мы хотим представить Вам функцию dir()
. Это не имеет ничего общего с командой dir
, которую Вы знаете из консолей Windows и Unix, так как dir()
не показывает содержимое каталога/папки на диске, но можно сказать, что то, что она делает, похоже на результат команды - она может показать все имена, включенные в определенный модуль.
Есть одно условие: модуль должен быть заранее полностью импортирован (т.е. с помощью инструкции import module
, так как инструкция from module
импортирует не весь модуль). р>
Функция возвращает отсортированный по алфавиту список, содержащий имена всех объектов, доступных в модуле, которые определяются по имени, переданному функции в качестве аргумента:
dir(module)
Примечание: если имя модуля было псевдонимом, необходимо использовать псевдоним, а не исходное имя.
Использование функции внутри обычного скрипта не имеет особого смысла, но все же оно возможно.
Например, Вы можете запустить следующий код для печати имен всех объектов в модуле math
:
import math
for name in dir(math):
print(name, end="\t")
Приведенный пример должен показать следующий вывод:
__doc__ __loader__ __name__ __package__ __spec__ acos acosh asin asinh atan atan2 atanh ceil copysign cos cosh degrees e erf erfc exp expm1 fabs factorial floor fmod frexp fsum gamma hypot isfinite isinf isnan ldexp lgamma log log10 log1p log2 modf pi pow radians sin sinh sqrt tan tanh trunc
output
Как Вы могли заметить в начале списка есть странные имена, начинающиеся с __
. Мы расскажем Вам больше о них, когда будем говорить о проблемах, связанных с написанием ваших собственных модулей.
Некоторые имена помогут вспомнить об уроках математики, и у Вас, вероятно, не возникнет проблем с угадыванием их значения.
Использование функции dir()
внутри кода может показаться не очень полезным - чаще всего Вы уже знаете содержимое определенного модуля, прежде чем писать и запускать код.
К счастью, Вы можете выполнить функцию непосредственно в консоли Python (IDLE), не создавая и не запуская отдельный скрипт.
Вот как это можно сделать:
import math
dir(math)
Вот что Вы увидите в выводе: