3. Взаимодействие с ОС (файлы, процессы). Модули: os
, os.path
, getopt
, glob
, popen2
, shutil
, select
, signal
, stat
, tempfile
.
3. Обработка текстов. Модули: string
, re
, StringIO
, codecs
, difflib
, mmap
, sgmllib
, htmllib
, htmlentitydefs
. Пакет xml
.
3. Многопоточные вычисления. Модули: threading
, thread
, Queue
.
4. Хранение данных. Архивация. Модули: pickle
, shelve
, anydbm
, gdbm
, gzip
, zlib
, zipfile
, bz2
, csv
, tarfile
.
5. Платформо–зависимые модули. Для UNIX: commands
, pwd
, grp
, fcntl
, resource
, termios
, readline
, rlcompleter
. Для Windows: msvcrt
, _winreg
, winsound
.
6. Поддержка сети. Протоколы Интернет. Модули: cgi
, Cookie
, urllib
, urlparse
, httplib
, smtplib
, poplib
, telnetlib
, socket
, asyncore
. Примеры серверов: SocketServer
, BaseHTTPServer
, xmlrpclib
, asynchat
.
7. Поддержка Internet. Форматы данных. Модули: quopri
, uu
, base64
, binhex
, binascii
, rfc822
, mimetools
, MimeWriter
, multifile
, mailbox
. Пакет email
.
8. Python о себе. Модули: parser
, symbol
, token
, keyword
, inspect
, tokenize
, pyclbr
, py_compile
, compileall
, dis
, compiler
.
9. Графический интерфейс. Модуль Tkinter
.
Примечание:
Очень часто модули содержат один или несколько классов, с помощью которых создается объект нужного типа, а затем речь идет уже не об именах из модуля, а об атрибутах этого объекта. И наоборот, некоторые модули содержат лишь функции, слишком общие для того, чтобы работать над произвольными объектами (либо достаточно большой категорией объектов).
Сервисы периода выполнения
Модуль sys
Модуль sys содержит информацию о среде выполнения программы, об интерпретаторе Python. Далее будут представлены наиболее популярные объекты из этого модуля: остальное можно изучить по документации.
exit([c]) |
Выход из программы. Можно передать числовой код завершения: 0 в случае успешного завершения, другие числа при аварийном завершении программы. |
argv |
Список аргументов командной строки. Обычно sys.argv[0] содержит имя запущенной программы, а остальные параметры передаются из командной строки. |
platform |
Платформа, на которой работает интерпретатор. |
stdin , stdout , stderr |
Стандартный ввод, вывод, вывод ошибок. Открытые файловые объекты. |
version |
Версия интерпретатора. |
setrecursionlimit(limit) |
Установка уровня максимальной вложенности рекурсивных вызовов. |
exc_info() |
Информация об обрабатываемом исключении. |
Модуль copy
Этот модуль содержит функции для копирования объектов. Вначале предлагается к рассмотрению «парадокс», который вводит в замешательство новичков в Python:
lst1 = [0, 0, 0]
lst = [lst1] * 3
print lst
lst[0][1] = 1
print lst
В результате получается, возможно, не то, что ожидалось:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 1, 0], [0, 1, 0], [0, 1, 0]]
Дело в том, что список lst
содержит ссылки на один и тот же список! Для того чтобы действительно размножить список, необходимо применить функцию copy()
из модуля copy
:
from copy import copy
lst1 = [0, 0, 0]
lst = [copy(lst1) for i in range(3)]
print lst
lst[0][1] = 1
print lst
Теперь результат тот, который ожидался:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 1, 0], [0, 0, 0], [0, 0, 0]]
В модуле copy
есть еще и функция deepcopy()
для глубокого копирования, при которой объекты копируются на всю возможную глубину, рекурсивно.
Модули math и cmath
В этих модулях собраны математические функции для действительных и комплексных аргументов. Это те же функции, что используются в языке C. В таблице ниже даны функции модуля math
. Там, где аргумент обозначен буквой z
, аналогичная функция определена и в модуле cmath
.
Функция или константа |
Описание |
acos(z) |
арккосинус z |
asin(z) |
арксинус z |
atan(z) |
арктангенс z |
atan2(y,x) |
atan(y/x) |
ceil(x) |
наименьшее целое, большее или равное x |
cos(z) |
косинус z |
cosh(x) |
гиперболический косинус x |
e |
константа e |
exp(z) |
экспонента (то есть, e**z ) |
fabs(x) |
абсолютное значение x |
floor(x) |
наибольшее целое, меньшее или равное x |
fmod(x,y) |
остаток от деления x на y |
frexp(x) |
возвращает мантиссу и порядок x как пару (m, i) , где m — число с плавающей точкой, а i — целое, такое, что x = m * 2.**i . Если 0 , возвращает (0,0) , иначе 0.5 <= abs(m) < 1.0 |
hypot(x,y) |
sqrt(x*x + y*y) |
ldexp(m,i) |
m * (2**i) |
log(z) |
натуральный логарифм z |
log10(z) |
десятичный логарифм z |
modf(x) |
возвращает пару (y,q) — целую и дробную часть x . Обе части имеют знак исходного числа |
pi |
константа π |
pow(x,y) |
x**y |
sin(z) |
синус z |
sinh(z) |
гиперболический синус z |
sqrt(z) |
корень квадратный от z |
tan(z) |
тангенс z |
tanh(z) |
гиперболический тангенс z |
Модуль random
Этот модуль генерирует псевдослучайные числа для нескольких различных распределений. Наиболее используемые функции:
Читать дальше
Конец ознакомительного отрывка
Купить книгу