Программирование • 29 августа 2024 • 5 мин чтения

Использование функций в Python: какие бывают и как их применять

Рассказываем, в каких случаях помогут функции, что такое аргументы и почему важно различать применение областей видимости при создании функций.

Что такое функции в Python

Функции в Python — это фрагменты программы, которые помогают объединить инструкции в один блок, сделать код читаемым и использовать его много раз.

Всего в Python 71 встроенная функция. Мы перечислим часто используемые.


Функции Python

print
Вывод данных на экран
int
Преобразование целых чисел (0, 1 или 10)
input
Ввод данных с клавиатуры. Когда срабатывает функция input, программа ожидает ввода данных пользователя
min и max
Функции, которые возвращают наименьшее (min) или наибольшее (max) значение
range
Возвращает последовательность чисел. Как правило, используется, чтобы описать цикл. Например, при параметре 5 с помощью range отобразится 0, 1, 2, 3, 4 — параметр 5 будет считаться конечным значением последовательности и включаться не будет
sum
Суммирует числа, которые прописаны в качестве параметров. Например, при параметрах 1, 2, 3 с помощью sum в результате будет отображаться ответ 6

Писать код, создавать сайты, приложения и веб-сервисы на языке Python учат на курсе «Python-разработчик». После прохождения курса студенты добавят в портфолио сайты, приложения, бот, API. А также получат диплом о профессиональной подготовке.

Синтаксис функций

Синтаксис функций в Python — это именованные блоки кода. Их всего два.

1. def — ключевое слово, которое обозначает начало определения функции.

В строке def содержатся имя функции и её параметры:

● Имя функции — название, которое будет использовано для определения функции и её вызова. Название прописывается с маленькой буквы. Если в нём несколько слов, их нужно разделять нижним подчёркиванием (_). Имя должно давать пользователю понимание, что делать. Например, «решить», «назвать имя», «задать значение».

● Параметры функции (аргументы) — переменные, которые нужны для создания функции. Если переменных несколько, их нужно прописать через запятую — (a, b, c).

Параметры прописываются в скобках, их называют кортежами — они могут содержать элементы разных типов, включая числа, строки и другие объекты, или оставаться пустыми. Например, кортеж может выглядеть так: (1, "Hello", 3.14, True) — или так: ().

2. Тело функции — инструкции, которые будут выполняться при вызове функции. В теле находятся строки действий, их может быть неограниченное количество. Например, в нём могут содержаться условия и формула задачи. Тело функции заканчивается результатом (return) — оператором, который завершает выполнение функции.

Объявление и вызов функций

Для объявления функции в Python нужно прописать ключевое слово def, затем название функции, закрывающиеся круглые скобки и двоеточие — ():. В теле функции пишется код, который будет выполняться при её вызове. В конце ставится функция print, название функции и её параметр — эти строки нужны для вызова самой функции.

Посмотрим, как это работает. Допустим, нам нужно решить задачу «a*2». При этом «a» может быть любым числом, которое укажет пользователь. Для этого пропишем def, имя (применить), параметр (a), команду result и формулу (a*2), для завершения функции поставим оператор return. Затем с помощью print мы зададим название, параметр «5» и нажмём Enter.

Для примера мы дали название на русском языке, но лучше это делать на латинице. Кириллица возможна к использованию, но так делать не рекомендуется. Начиная с версии Python 3.0 все идентификаторы прописываются на английском языке

Область видимости функций

Область видимости в Python определяет, где переменные доступны для использования. Она нужна, чтобы похожие переменные из разных функций не конфликтовали друг с другом. Проще говоря, с помощью областей видимости программа понимает, какие переменные учитывать в функции, а какие относятся к другой функции. Рассмотрим локальную и глобальную области видимости.

Локальная область видимости — это переменные, которые доступны только в пределах этой функции. В других функциях их применить не получится, программа просто не будет их учитывать.

На скриншоте — пример локальной функции. Если мы пропишем новую функцию def рядом, то она не сможет считать информацию из первой функции и будет её игнорировать.

Переменные из формулы нельзя применить к другой функции, иначе код выдаст ошибку

Глобальная область видимости — это переменные, которые созданы вне функции, их можно использовать в разных функциях одновременно, в том числе в локальных.

Мы прописали новые параметры, которые не входят в формулу функции. Но если эти параметры прописать в print, они тоже будут учитываться

Аргументы

В Python аргументы функции бывают двух видов:

1. Позиционные аргументы — это самые простые аргументы, которые передаются в функцию в порядке их объявления. Сопоставляются позиции аргумента и параметра — например, 1, 2, 3. Для вывода функции важны оба этих аргумента и их порядок, иначе код не будет работать.

2. Именованные (ключевые) аргументы — аргументы, которым присвоены имена. Эти аргументы могут быть указаны в произвольном порядке. Например, a может равняться 3, b — 2, с — 1.

Именованные и позиционные аргументы можно применять одновременно. При этом сначала указываются позиционные аргументы, а затем — именованные. Например, 1, a — 2, b — 3.

Пример применения функций Python

Рассмотрим два простых примера с функциями.

1. Применение функций input, int и print. Допустим, нам нужно, чтобы при вводе чисел программа их умножала и отображала ответ. Вот как это сделать.

С помощью input задаём параметры для ввода, прописываем формулу и функцию print, чтобы все действия пользователя отображались на экране.

На нижнем экране видны наши действия — мы ввели цифры 5 и 7, Python учёл эти цифры в формуле и отобразил ответ 35

2. Применение функций print и sum. Допустим, нам нужно, чтобы код суммировал числа, не прописывая формулу. Для этой задачи подойдёт функция sum.

Например, нужно умножить 1, 2, 3 и прибавить к ним 5. В таком случае числа, которые нужно перемножить, прописываются в квадратных скобках. На скриншоте видно, что программа посчитала всё правильно и получила ответ 11.

Функция sum принимает только числа. Например, если числа в квадратных скобках сделать строками по типу [‘1’, ’2’, ’3’], программа отобразит ошибку

Совет эксперта

Василий Беляков
Старайтесь давать переменным и функциям осмысленные названия — они будут служить подсказкой, что выполняет функция или какую информацию хранит переменная. А ещё переиспользуйте свой код там, где это возможно, — если одна и та же операция выполняется хотя бы дважды, выносите её в отдельную функцию.
Статью подготовили:
Василий Беляков
Яндекс Практикум
Наставник курса «Инженер по тестированию»
Валентина Бокова
Яндекс Практикум
Редактор
Полина Овчинникова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Tue Sep 24 2024 09:44:27 GMT+0300 (Moscow Standard Time)