# Отчет по теме 4 ***Цель темы: получение навыков использования встроенных функций языка Python.*** Терехов Фёдор Валерьевич, А-01-23 ## 1. Стандартные функции. Находятся в модуле builtins, который становится доступным без импорта при запуске среды IDLE. ### 1.1. Функция round – округление числа с заданной точностью. ```python help(round) ``` Ответ программы: ```shell Help on built-in function round in module builtins: round(number, ndigits=None) Round a number to a given precision in decimal digits. The return value is an integer if ndigits is omitted or None. Otherwise the return value has the same type as the number. ndigits may be negative. ``` ```python print(round(123.456,1)) print(round(123.456,0)) print('\n') print(type(round(123.456,1))) print(type(round(123.456,0))) print('\n') print(round(123.456)) print(type(round(123.456))) print('\n') ``` Ответ программы: ```shell 123.5 123.0 123 ``` ### 1.2. Функция range – создание последовательности целых чисел с заданным шагом или, по умолчанию, с шагом 1. *Аргументами функции являются границы диапазона значений и шаг. При этом правая граница в создаваемую последовательность включена не будет (так же, как это было в «срезах» индексов объектов-последовательностей).* *Аргументами функции являются границы диапазона значений и шаг. При этом правая граница в создаваемую последовательность включена не будет (так же, как это было в «срезах» индексов объектов-последовательностей).* *Чтобы увидеть получившуюся последовательность чисел, его надо преобразовать, например, в список.* ```python gg=range(76,123,9) print(list(gg),'\n') print(list(range(23))) ``` Ответ программы: ```shell [76, 85, 94, 103, 112, 121] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] ``` *Если написать например range(23), то будет последовательность от нуля до 23 (не включительно) с шагом 1.* ### 1.3. Функция zip – создание общего объекта, элементами которого являются кортежи, составленные из элементов двух или более объектов-последовательностей (zip – застежка-«молния»). *Длина результирующего объекта равна длине самого короткого объекта из двух аргументов функции.* ```python qq=['Terekhov','Zhalnin', 'Petrov'] ff=zip(qq,gg) print(tuple(ff)) ``` Ответ программы: ```shell (('Terekhov', 76), ('Zhalnin', 85), ('Petrov', 94)) ``` В получившемся кортеже 3 элемента-кортежа. То есть столько, сколько в наименьшем списке среди двух (qq, gg). **К объекту ff обращаться с указанием индекса.** ```python print(ff[1][0]) ``` Ответ программы: ```shell Traceback (most recent call last): File "/home/user/Desktop/VUZ/3CURSE/POAS_labs/python-labs/TEMA4/task1.py", line 20, in print(ff[1][0]) ~~^^^ TypeError: 'zip' object is not subscriptable ``` ### 1.4. Функция eval – вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки. ```python fff=float(input('коэффициент усиления=')) dan=eval('5*fff-156') print(dan) ``` Ответ программы: ```shell коэффициент усиления=10 -106.0 ``` ### 1.5. Функция exec – чтение и выполнение объекта-аргумента функции. ```python exec(input('введите инструкции:')) print(dir()) ``` Ответ программы: ```shell введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3) ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'dan', 'ff', 'fff', 'gg', 'perem', 'qq'] ``` ***Функции eval() и exec() нужно использовать с осторожностью, так как они затрудняют чтение и понимание программ.*** ### 1.6. Функция abs - модуль (абсолютное значение). ```python print(abs(-7), abs(3.5)) ``` Ответ программы: ```shell 7 3.5 ``` ### 1.7. Функции min() и max() - минимальное и максимальное значение. Что принимают: * Любой итерируемый объект: строка (максимум по UNICODE-коду), кортеж, множество, диапазон, словарь (сравниваются ключи), и т.д. * Либо несколько позиционных аргументов: max(3, 7, 2). ```python print(max(1,2,3,4,5)) print(min(1,2,3,4,5)) ``` Ответ программы: ```shell 5 1 ``` ### 1.8. Функция pow() - возведение в степень. ```python print(pow(2,3)) print(pow(2,3,5)) # 2**3 = 8, затем 8 % 5 = 3. ``` Ответ программы: ```shell 8 3 ``` ### 1.9. Функция sum() - сумма элементов итерируемого объекта. *Не работает со строками.* ```python print(sum([1,2,3,4,5])) print(sum((1,2,3,4,5))) print(sum({1,2,3,4,5})) ``` Ответ программы: ```shell 15 15 15 ``` ### 1.10. Функция divmod() — (целая часть, остаток). ```python print(divmod(29, 5)) ``` Ответ программы: ```shell (5, 4) ``` ### 1.11. Функция len() - длина. ```python print(len([1,2,3,4,5]), len("привет")) ``` Ответ программы: ```shell 5 6 ``` ### 1.12. Функция map(func, iterable, ...) применяет функцию func к каждому элементу(ам) и возвращает итератор результатов. ```python vals = [3, -8, 5, 0, 12, -1] r = list(map(abs, vals)) print(r) ``` Ответ программы: ```shell [3, 8, 5, 0, 12, 1] ```