|
>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
Этот модуль генерирует псевдослучайные числа для нескольких различных распределений. Наиболее используемые функции:
>random() | Генерирует псевдослучайное число из полуоткрытого диапазона >[0.0, 1.0) . |
>choice(s) | Выбирает случайный элемент из последовательности >s . |
>shuffle(s) | Размешивает элементы изменчивой последовательности >s на месте. |
>randrange([start,] stop[, step]) |