Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.Python.8-10.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

Радианы в градусы и наоборот

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)

4

>>> "z" in a_tuple                      (4)

True

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

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

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

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

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

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

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

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

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

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

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

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

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