Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Математические функции в Python

Поиск

Для работы с математическими функциями нужно импортировать библиотеку math:

import math

После этого к функциям из этой библиотеки можно обращаться следующим образом:

math.имя_функции(…)

ФУНКЦИИ В БИБЛИОТЕКЕ MATH

ceil(x) Возвращает округленное x как ближайшее целое значение типа int, большее или равное x (округление "вверх").
fabs(x) Возвращает абсолютное значение (модуль) числа x. В Python есть встроенная функция abs, но она возвращает модуль числа с тем же типом, что число, здесь же всегда float abs (fabs).
factorial(x) Возвращает факториал целого числа x, если x не целое возбуждается исключение ValueError.
floor(x) В противоположность ceil(x) возвращает округленное x как ближайшее целое значение типа int, меньшее или равное x (округление "вниз").
frexp(x) Представляет число в экспоненциальной записи x=m∗2n и возвращает мантиссу m (действительное число, модуль которого лежит в интервале от 0.5 включительно до 1 не включительно) и порядок n (целое число) как пару чисел (m, n). Если x=0, то возвращает (0.0, 0)
fsum(iterable) Возвращает float сумму от числовых элементов итерируемого объекта.
isinf(x) Проверяет, является ли float объект x плюс или минус бесконечностью, результат соответственно True или False.
isnan(x) Проверяет, является ли float объект x объектом NaN (not a number).
ldexp(x, i) Возвращает значение x∗2i, то есть осуществляет действие, обратное функции frexp(x).
modf(x) Возвращает дробную и целую часть float числа. Оба результата сохраняют знак исходного числа x и представлены типом float.
trunc(x) Возвращает целую часть числа x в виде int объекта.

 

СТЕПЕННЫЕ И ЛОГАРИФМИЧЕСКИЕ ФУНКЦИИ

exp(x) Возвращает ex.
log(x[, base]) При передаче функции одного аргумента x, возвращает натуральный логарифм x (логарифм по основанию e = 2.7182…). При передаче двух аргументов, второй берется как основание логарифма.
log10(x) Возвращает десятичный логарифм x.
pow(x, y) Возвращает x в степени y. В отличие от операции ** приводит оба аргумента к типу float.
sqrt(x) Квадратный корень (square root) из x.

 

ТРИГОНОМЕТРИЧЕСКИЕ ФУНКЦИИ

acos(x) Возвращает арккосинус x, в радианах.
asin(x) Возвращает арксинус x, в радианах.
atan(x) Возвращает арктангенс x, в радианах.
atan2(y, x) Возвращает atan(y/x), в радианах. Результат лежит в интервале [-π, π]. Вектор, конец, которого задается точкой (x, y) образует угол с положительным направлением оси x. Поэтому эта функция имеет более общее назначение, чем предыдущая. Например и atan(1), и atan2(1, 1) дадут в результате pi/4, но atan2(-1, -1) это уже -3*pi/4.
cos(x) Возвращает косинус x, где x выражен в радианах.
hyp(x, y) Возвращает sqrt(x**2+y**2). Удобно для вычисления гипотенузы (hyp) и длины вектора.
sin(x) Возвращает синус x, где x выражен в радианах.
tan(x) Возвращает тангенс x, где x выражен в радианах.

 

РАДИАНЫ В ГРАДУСЫ И НАОБОРОТ

degrees(x) Конвертирует значение угла x из радиан в градусы.
radians(x) Конвертирует значение угла x из градусов в радианы.

 

ПРИМЕР ПРОГРАММЫ С МАТЕМАТИЧЕСКИМИ ФУНКЦИЯМИ

from math import * # Импортируем библиотеку math


def my_function(x):
x = fabs(x) # Наша функция будет четной
y = sqrt(x) # Извлекаем корень квадратный
y = exp(sin(y) + 1) # Берем синус, прибавляем 1, а затем это выражение сразу в показатель экспоненты
return y

print(my_function(2))

А можно написать эту функцию так (в функциональном стиле):

from math import *


def my_function(x):
return exp(sin(sqrt(fabs(x))) + 1)

print(my_function(2))

Кортежи в Python

Кортежи в Python

Кортеж — это неизменяемый список. Кортеж не может быть изменён никаким способом после его создания.

>>> a_tuple = ("a", "b", "mpilgrim", "z", "example") (1)

>>> a_tuple

('a', 'b', 'mpilgrim', 'z', 'example')

>>> a_tuple[0] (2)

'a'

>>> a_tuple[-1] (3)

'example'

>>> a_tuple[1:3] (4)

('b', 'mpilgrim')

1. Кортеж определяется так же, как список, за исключением того, что набор элементов заключается в круглые скобки, а не в квадратные.

2. Элементы кортежа заданы в определённом порядке, как и в списке. Элементы кортежа индексируются с нуля, как и элементы списка, таким образом, первый элемент не пустого кортежа — это всегда a_tuple[0].

3. Отрицательные значения индекса отсчитываются от конца кортежа, как и в списке. Последний элемент имеет индекс -1.

4. Создание среза кортежа («slicing») аналогично созданию среза списка. Когда создаётся срез списка, получается новый список; когда создаётся срез кортежа, получается новый кортеж.

Основное отличие между кортежами и списками состоит в том, что кортежи не могут быть изменены. На практике это означает, что у них нет методов, которые бы позволили их изменить. У списков есть такие методы, как append(), extend(), insert(), remove(), и pop(). У кортежей ни одного из этих методов нет. Можно взять срез от кортежа (так как при этом создастся новый кортеж).

# продолжение предыдущего примера

>>> a_tuple ('a', 'b', 'mpilgrim', 'z', 'example')

>>> a_tuple.append("new") (1)

Traceback (innermost last):

File "<interactive input>", line 1, in?

AttributeError: 'tuple' object has no attribute 'append'

>>> a_tuple.remove("z") (2)

Traceback (innermost last): File "<interactive input>", line 1, in? AttributeError: 'tuple' object has no attribute 'remove'

>>> a_tuple.index("example") (3)

>>> "z" in a_tuple (4)

True

Перевод сообщений оболочки:

Раскрутка стека (от внешних к внутренним):

Файл "<интерактивный ввод>", строка 1, позиция?

AttributeError: у объекта 'tuple' нет атрибута '<атрибут>'

1. Вы не можете добавить элементы к кортежу. Кортежи не имеют методов append() или extend().

2. Вы не можете удалять элементы из кортежа. Кортежи не имеют методов remove() или pop().

3. Вы можете искать элементы в кортежи, поскольку это не изменяет кортеж.

4. Вы также можете использовать оператор in, чтобы проверить существует ли элемент в кортеже.

Так где же могут пригодиться кортежи?

· Кортежи в некоторых случаях быстрее, чем списки. Но такие оптимизации в каждом конкретном случае требуют дополнительных исследований.

· Кортежи делают код безопаснее в том случае, если у вас есть «защищенные от записи» данные, которые не должны изменяться.

· Некоторые кортежи могут использоваться в качестве элементов множества и ключей словаря (конкретно, кортежи, содержащие неизменяемые значения, например, строки, числа и другие кортежи). Списки никогда не могут использоваться в качестве ключей словаря, потому что списки — изменяемые объекты.

Кортежи могут быть преобразованы в списки и наоборот. Встроенная функция tuple() принимает список и возвращает кортеж из всех его элементов, функция list() принимает кортеж и возвращает список. По сути дела, tuple() замораживает список, а list() размораживает кортеж.



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 719; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.210.36 (0.006 с.)