Пакеты модулей
В больших программных продуктах для организации иерархической файловой структуры удобно использовать каталог. Типичной является ситуация, когда в отдельных подкаталогах находятся файлы с одинаковыми именами. Python дает возможность импортировать не только имена модулей но и имена каталогов- Каталог в этом контексте является пакетом, а такая операция импортирования в Python называется импортированием пакетов.
Основная особенность импортирования пакетов состоит в указании пути к соответствующему модулю в инструкциях import и from . . . import. Пусть пакет идентифицируется как каталог dirl. В нем есть подкаталог dir2, который содержит нужный нам модуль module 1 (файл module 1 .ру). Тогда импорт этого модуля будет осуществляться инструкцией
°/, main (file main.py) import dirl.dir2.module1
При этом каталог dirl должен находится в пути поиска модулей.
Математический Python
Встроенные функции и стандартная библиотека Python предоставляют широкие возможности для решения самых различных задач программирования. Кроме того, Python допускает расширение за счет библиотек, созданных сторонними разработчиками. В данной главе рассматриваются инструментальные средства для решения задач численного анализа. Дается краткое описание математических модулей стандартной библиотеки Python и расширений N urn Ру и SciPy, которые могут рассматриваться как свободный и более мощный эквивалент системы программирования математических вычислений MATLAB. Визуализация расчетов обеспечивается пакетом научной графики Matplotlib.
Встроенные функции и стандартная библиотека
Встроенные функции, модули стандартной библиотеки, математические модули.
Встроенные функции
Python имеет ряд встроенных функций, некоторые из них мы уже упоминали. Общий список встроенных функций с описанием содержится в документации (команда Пуск (Start) | Python х.х | Python Manual). Здесь мы отметим лишь некоторые из них, которые интересны при проведении вычислений.
При арифметических операциях над числами смешанного типа проводится автоматическое преобразование к общему более старшему типу. Иерархия чисел: целые числа, длинные целые числа, числа с плавающей точкой, комплексные числа. В частности, интерпретатор Python автоматически преобразует целые числа в длинные целые, если их значения оказываются слишком большими, чтобы уместиться в формат простого целого числа. Для принудительного преобразования используются встроенные функции int(), long(), float(), complex(). Примеры их использования:
»> а = 1 »> Ъ = - 2.3
»> с = ’4.5’
»> print а + b -1.3
»> print int(b)
-2
»> print float (c)
4.5
»> print complex (a, b)
(1-2.3j)
Core Python поддерживает только несколько математических функций. Например, abs(x) возвращает абсолютное значение числа, т.е модуль данного числа | х |:
»> print abs(-1.2), abs(3 + 4j)
5.0
Встроенные функции max(x) и min(x) используются для поиска максимального и минимального значений:
»> а = [1, 2, 3, 4]
»> b = [5, 3, 1]
»> print max(a), min(b)
1
»> print max(3, 1, 7, 4)
7
Функция cmp(x, у) сравнивает x и у и возвращает 1, когда х > у, -1, когда х < у и ноль при х = у:
»> а = 0.5 »> b = 1
»> print cmp(a, b), cmp(a+l , b)
-1 1
»> print cmp(2*a, b)
0
Упомянем также встроенную функцию pow(x, у), которая возвращает х возведённый в степень у. Ранее мы упоминали некоторые другие встроенные функции, такие как range, open.
Модули стандартной библиотеки
Из большой массы модулей стандартной библиотеки отметим лишь некоторые. Модуль sys предоставляет доступ к переменным, которые содержит информацию о среде выполнения программы, об интерпретаторе Python. Выше мы уже упоминали объект из этого модуля path — список путей поиска модулей. Функция exit(arg) с необязательным аргументом прерывает выполнение программы. Можно воспользоваться exit (’error’) для того чтобы прервать выполнение программы и вывести сообщение об ошибке. Инструкция platform выводит информацию об используемой платформе. Файловые объекты, соответствующие стандартным потокам ввода, вывода и ошибок интерпретатора связаны с объектами stdin, stdout, stderr модуля sys.
Взаимодействие с операционной системой поддерживается модулем os. В частности, функция getcwdO возвращает строку, представляющую текущий рабочий каталог. Для изменения текущий рабочий каталог (на path) используется chdir(path). Для удаления файла (каталога) с именем path можно использовать функцию remove (path) (removedirs(path)). Переименовывать файл (каталог) src в dst поможет функция rename (src, dst).
Для выявления узких мест в программе необходимо замерить временные интервалы на выполнения отдельных частей программы. С этой целью можно использовать модуль time, который предоставляет различные функции для работы со временем. Точка отсчета (начало эпохи — 0 часов 1 января 1970г.) для вашей платформы выводиться функцией gmtime(O):
import time
print time.gmtime(O)
Do'stlaringiz bilan baham: |