Функции — это блоки кода, которые можно переиспользовать. Они позволяют избежать дублирования кода и делают программы более структурированными.
Функции объявляются с помощью ключевого слова def
, затем следует имя функции и круглые скобки с параметрами (если они есть).
# Простейшая функция
def say_hello():
print("Привет!")
# Вызов функции
say_hello() # Выведет: Привет!
# Функция с параметром
def greet(name):
print(f"Привет, {name}!")
greet("Алиса") # Выведет: Привет, Алиса!
greet("Боб") # Выведет: Привет, Боб!
# Функция возвращает сумму двух чисел
def add(a, b):
return a + b
result = add(5, 3)
print(result) # Выведет: 8
Рекурсивная функция вызывает саму себя. Например, вычисление факториала числа:
def factorial(n):
if n == 1:
return 1
return n * factorial(n - 1)
print(factorial(5)) # Выведет: 120
Переменные, объявленные внутри функции, являются локальными. Чтобы изменить глобальную переменную внутри функции, используется global
.
x = 10 # Глобальная переменная
def change_x():
global x
x = 20
change_x()
print(x) # Выведет: 20
Python позволяет указывать ожидаемые типы аргументов и возвращаемого значения:
def multiply(a: int, b: int) -> int:
return a * b
print(multiply(3, 4)) # Выведет: 12
Можно указывать, что аргумент является списком определённого типа:
def sum_list(numbers: list[int]) -> int:
return sum(numbers)
print(sum_list([1, 2, 3, 4])) # Выведет: 10
Если функция может возвращать разные типы данных, используют Union
:
from typing import Union
def process(value: Union[int, str]) -> str:
return str(value).upper()
print(process(123)) # Выведет: 123
print(process("hello")) # Выведет: HELLO
1️⃣ Напишите функцию, которая принимает имя и возраст, а затем выводит сообщение.
2️⃣ Напишите функцию, которая принимает список чисел и возвращает их сумму.
3️⃣ Создайте рекурсивную функцию, вычисляющую сумму чисел от 1 до N.
🔄 Задачи по пройденному материалу 🔙 Назад к списку уроков