"Информатика. Базовый уровень", Босова Л.Л., Босова А.Ю.
Встроенные функции — готовые инструменты Python для типичных действий: вычислений, преобразования данных, ввода и вывода. Их не нужно определять самостоятельно: достаточно вызвать функцию по имени и передать ей аргументы в круглых скобках. Результат многих вызовов можно сохранить в переменной или использовать в выражении. Понимание аргументов и возвращаемых значений помогает собирать функции вместе и писать программы короче и понятнее.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Встроенная функция — функция, доступная в Python без предварительного определения. В отличие от собственной функции, для которой программист пишет описание в коде, встроенную можно сразу вызвать по имени. Такие функции нужны, чтобы не создавать заново часто используемые операции и делать программу короче.
Аргумент функции — значение или выражение, передаваемое функции при вызове. Например, в abs(-7) аргументом является число -7: именно оно определяет, какой модуль нужно найти. Аргументы задают исходные данные для работы функции, поэтому от них зависит её результат.
Вызов функции — запись имени функции с круглыми скобками и, если они нужны, аргументами внутри. Например, len("код") — вызов, который просит Python определить длину строки. Скобки показывают, что функцию нужно выполнить, а не просто обратиться к её имени.
Возвращаемое значение — результат, который функция передаёт программе после выполнения. Например, abs(-7) возвращает число 7, которое можно присвоить переменной или включить в вычисление. Благодаря этому результат функции становится обычным значением для дальнейшей работы программы.
В Python есть готовые функции для действий, которые часто встречаются в программах: вычисления модулей, сравнения чисел, преобразования данных. Если каждый раз писать такие действия вручную, код становится длиннее, а вероятность ошибки растёт. Встроенная функция позволяет использовать уже предусмотренное поведение, передав подходящие данные. Python распознаёт её имя как имя доступной функции и выполняет её по правилам языка.
Общий вид вызова — имя функции, затем круглые скобки: abs(-7). Внутри скобок указывают аргумент или несколько аргументов, разделённых запятыми, если этого требует функция. Скобки необходимы и тогда, когда аргументов нет: например, print() вызывает вывод пустой строки. Без скобок обычно записано только имя функции, но её действие не запускается.
Функции abs(), min() и max() показывают, как аргументы задают задачу. abs(-7) получает одно число и возвращает его модуль — 7, а min(2, 5, 1) и max(2, 5, 1) сравнивают переданные значения и возвращают соответственно 1 и 5. Поскольку результат является значением, его можно сразу подставить в вычисление: например, abs(-7) + max(2, 5, 1) даёт 12. Это позволяет комбинировать готовые операции, не вводя промежуточные переменные.
Функции int(), float() и str() меняют тип значения, то есть способ, которым Python его воспринимает и обрабатывает. int("12") превращает строку с целым числом в целое 12, float("2.5") — строку в дробное число 2.5, а str(12) создаёт строку "12". Преобразование возможно не для любого содержимого: строка "два" не становится числом с помощью int(). Поэтому нужно учитывать и исходный тип, и то, соответствует ли значение правилам целевого типа.
Не всякая функция нужна прежде всего для получения значения в вычислении. print(...) выводит переданные данные, input(...) получает строку, введённую пользователем, а range(...) создаёт последовательность целых чисел, которую обычно перебирают в цикле. Например, range(1, 4) задаёт значения 1, 2 и 3: правая граница в таком вызове не включается. Ввод и вывод связывают программу с пользователем, а range() помогает повторить действие для ряда значений.
| Функция | Назначение | Пример вызова | Результат или действие |
|---|---|---|---|
| abs(x) | Модуль числа | abs(-7) | 7 |
| min(...), max(...) | Наименьшее и наибольшее из переданных значений | max(2, 5, 1) | 5 |
| round(x) | Округление числа | round(3.6) | 4 |
| int(x), float(x), str(x) | Преобразование к указанному типу | int("12") | 12 |
| len(x) | Количество элементов последовательности | len("код") | 3 |
| print(...), input(...) | Вывод данных и получение ввода пользователя | print("Привет") | Выводит текст на экран |
| range(...) | Создание последовательности целых чисел для перебора | range(1, 4) | Числа 1, 2, 3 |
Чтобы выбрать функцию, сначала определите, какое действие требуется: вычисление, преобразование, подсчёт элементов, ввод или вывод. Затем проверьте пример вызова и подставьте свои данные в скобки. Учитывайте, что одна функция может вернуть значение, а другая — выполнить действие, например показать текст на экране.
Задача 1. Даны числа −8 и 5. Нужно вывести модуль первого числа и большее из двух чисел. Сначала определим, какая функция решает каждую часть задачи: abs() находит модуль, а max() выбирает наибольшее значение. Затем передадим результаты в print(), чтобы показать их пользователю.
Ответ: программа выводит 8 5. В этом примере результаты функций abs() и max() служат аргументами для print(), поэтому промежуточные переменные не нужны.
Задача 2. Пользователь вводит длину и ширину прямоугольника. Нужно преобразовать введённые значения в числа и вывести площадь. Так как input() возвращает строку, перед умножением каждую строку надо преобразовать; функция float() позволит вводить и целые, и дробные размеры. Площадь найдём умножением длины на ширину.
Ответ: можно ввести, например, 4 и 2.5; программа выведет 10.0. Если размеры по условию всегда целые, вместо float() подойдёт int(), но при вводе дробного значения int() не является подходящей заменой.
Задача 3. Для введённого списка целых чисел нужно вывести количество элементов, минимальное и максимальное значения, а затем среднее, округлённое до двух знаков. Сначала превратим каждую введённую строку в целое число, иначе значения останутся текстом. Перед вычислениями проверим, что список не пуст: для пустого списка нельзя найти минимум, максимум и среднее.
Ответ: для ввода 2 3 4 программа выведет количество 3, минимум 2, максимум 4 и среднее 3.0. Проверка на пустой список предотвращает ошибку, а round(..., 2) оставляет не более двух знаков после запятой.
Имя функции без скобок принимают за её вызов, потому что оно выглядит как законченная команда. Но abs без скобок не вычисляет модуль: для выполнения действия нужно написать, например, abs(-7). Проверяйте, что после имени стоят круглые скобки, а необходимые данные помещены внутрь.
Аргумент путают с возвращаемым значением, потому что оба связаны с одним вызовом. Аргумент передают функции до её работы, а возвращаемое значение получают после неё: в abs(-7) аргумент — -7, результат — 7. Чтобы проверить себя, спросите: «Что я передаю?» и «Что функция возвращает?».
Результат input() иногда сразу используют в арифметике, ожидая, что набор цифр уже является числом. Однако input() возвращает строку, а строка и число — разные типы данных, поэтому перед вычислением требуется int() или float(). Проверьте тип: если ввели целое число, используйте int(input()), а если может быть дробное — float(input()).
Функцию могут вызвать с неподходящим количеством или типом аргументов: например, min() без значений не может выбрать наименьшее. Такую ошибку допускают, когда помнят назначение функции, но не проверяют, какие данные ей нужны. Перед вызовом выясните, сколько аргументов требуется, и убедитесь, что передаваемые значения подходят; для списка также проверьте, что он не пуст.
Для работы со встроенными функциями нужны знания о переменных, типах данных и выражениях: результат вызова можно сохранить в переменной или включить в вычисление. Правила преобразования типов помогают корректно обработать данные, полученные через input(). Эти функции применяются при обработке строк и списков, организации ввода-вывода и вычислениях. range() особенно полезна вместе с циклами, когда нужно повторить действия для последовательности значений.
Чем встроенная функция отличается от функции, которую написал программист?
Встроенная функция уже доступна в Python, поэтому её можно вызвать без предварительного определения. Функцию, написанную программистом, сначала нужно описать в программе, например с помощью def.
Обязательно ли указывать аргументы при вызове функции?
Нет: некоторые функции вызывают без аргументов, но круглые скобки всё равно нужны. Например, input() может ожидать ввод пользователя без дополнительного аргумента, а print() без аргументов выводит пустую строку.
Почему результат input() нужно преобразовывать перед вычислениями?
input() возвращает строку, даже если пользователь ввёл цифры. Чтобы выполнять с введённым значением арифметические действия, преобразуйте его, например, с помощью int() или float().
Чем отличаются функции int(), float() и str()?
int() преобразует значение к целому числу, float() — к числу с дробной частью, а str() — к строке. Результат зависит от исходного значения и правил преобразования: например, int("12") даёт число 12, но int("12.5") вызовет ошибку.
Можно ли использовать результат одной функции как аргумент другой?
Да, если тип результата подходит для другой функции. Например, abs(int("-7")) сначала преобразует строку в число, а затем находит модуль этого числа.
§ 3. Встроенные функции и их использование