Основы Python: Первые шаги в программировании
Функции
Lesson 6 of 16 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
К настоящему моменту вы, вероятно, заметили, что некоторые фрагменты кода повторяются.
Что если бы вы могли собрать этот код в один пакет, дать ему имя и запускать его когда угодно без повторного написания?
Именно для этого существуют функции.
Функцию можно представить как мини-программу внутри вашей программы.
У неё есть имя, она может принимать входные данные, выполнять работу и (опционально) возвращать что-то обратно.
Зачем использовать функции?
Функции — одни из самых мощных инструментов в программировании, потому что они:
- Избегают повторений — Написал один раз, используй где угодно.
- Организуют ваш код — Разбивают большие задачи на меньшие, управляемые части.
- Упрощают тестирование — Можно проверить отдельный кусок логики, не запуская всю программу целиком.
СОВЕТ: Функции похожи на кухонные приборы. Можно замешивать тесто вручную каждый раз, но миксер делает это быстрее, равномернее, и его можно использовать в любой момент.
Определение вашей первой функции
В Python вы создаёте (или определяете) функцию с помощью ключевого слова def, за которым следует имя функции, круглые скобки для входных данных (называемых параметрами) и двоеточие.
Затем код функции пишется с отступом.
Пример:
def square(number):
return number * number
print(square(4)) # 16
Что здесь происходит:
- Определяется функция
square, которая принимает один параметр —number. - Внутри функция умножает
numberна себя и возвращает результат. - Вызывается
square(4), гдеnumberстановится равным 4. - Функция возвращает
16, который выводится с помощьюprint().
ВАЖНО!: Оператор return возвращает значение туда, где была вызвана функция. Если забыть его, функция вернёт None. В будущем вы узнаете, что не каждая функция что-то возвращает; иногда нужно просто выполнить действия и всё.
Функции с несколькими параметрами
Функции могут принимать столько входных данных, сколько нужно. Эти значения указываются в скобках, разделённые запятыми.
Пример:
def add(num1, num2):
return num1 + num2
result = add(5, 6)
print(result) # 11
Здесь num1 становится 5, а num2 — 6 при вызове функции. Внутри они складываются, и возвращается сумма.
Примечание: Имена num1 и num2 существуют только внутри функции — это локальные переменные.
Значения параметров по умолчанию
Иногда хочется, чтобы параметр имел значение по умолчанию, чтобы пользователь не должен был всегда указывать его самостоятельно.
Пример:
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
greet("John") # Использует приветствие по умолчанию
greet("Maria", "Good evening") # Использует пользовательское приветствие
Если не передать greeting, он по умолчанию равен "Hello". Если передать — этот параметр заменит значение по умолчанию.
СОВЕТ: Значения по умолчанию должны идти после всех обязательных параметров в определении функции.
Итоги
Функции — это ваш набор инструментов для создания больших, чистых и умных программ.
Вы можете вызывать их сколько угодно раз, передавать разные входные данные и быть уверенным, что они выполнят задачу корректно.
В следующем уроке мы познакомимся с рекурсией — особым видом функции, которая вызывает сама себя. Это может показаться странным, но открывает путь к элегантным решениям некоторых задач.