Урок: Функции
Функции
Функции в Python позволяют организовывать код в блоки, которые можно повторно использовать. В этом уроке мы рассмотрим, как определять и вызывать функции, использовать аргументы и параметры, встроенные функции и анонимные функции (lambda).
Определение и вызов функций
Функции определяются с помощью ключевого слова def и вызываются по имени.
Пример определения и вызова функции
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
greet("Bob")
В этом примере функция greet принимает один параметр name и выводит приветственное сообщение. Функция вызывается дважды с разными аргументами.
Аргументы и параметры
Функции могут принимать различные типы аргументов: позиционные, именованные и аргументы со значениями по умолчанию.
Пример использования аргументов и параметров
def describe_person(name, age, city="Unknown"):
print(f"Name: {name}, Age: {age}, City: {city}")
describe_person("Alice", 30, "New York")
describe_person("Bob", 25)
В этом примере функция describe_person принимает три параметра: name, age и city. Параметр city имеет значение по умолчанию "Unknown". Функция вызывается дважды: первый раз с тремя аргументами, второй раз — с двумя.
Встроенные функции
Python предоставляет множество встроенных функций, которые можно использовать для выполнения различных задач.
Примеры встроенных функций numbers = [1, 2, 3, 4, 5] print(len(numbers)) # Выводит: 5 (длина списка) print(sum(numbers)) # Выводит: 15 (сумма элементов списка) print(max(numbers)) # Выводит: 5 (максимальный элемент списка) print(min(numbers)) # Выводит: 1 (минимальный элемент списка)
В этом примере используются встроенные функции len, sum, max и min для работы со списком numbers.
Анонимные функции (lambda)
Анонимные функции, также известные как lambda функции, используются для создания небольших, одноразовых функций без имени.
Пример использования lambda функции add = lambda x, y: x + y print(add(3, 5)) # Выводит: 8 # Пример использования lambda функции с функцией map numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared) # Выводит: [1, 4, 9, 16, 25]
В этом примере создается lambda функция для сложения двух чисел и используется функция map для применения lambda функции ко всем элементам списка numbers.
Практическое задание
- Определите функцию, которая принимает два числа и возвращает их произведение.
- Напишите функцию, которая принимает строку и возвращает ее в обратном порядке.
- Используйте встроенные функции для нахождения среднего значения списка чисел.
- Создайте
lambdaфункцию, которая проверяет, является ли число четным, и используйте ее с функциейfilterдля отсеивания нечетных чисел из списка.
Пример выполнения практического задания
# Задание 1
def multiply(a, b):
return a * b
print(multiply(4, 5)) # Выводит: 20
# Задание 2
def reverse_string(s):
return s[::-1]
print(reverse_string("Python")) # Выводит: nohtyP
# Задание 3
numbers = [10, 20, 30, 40, 50]
average = sum(numbers) / len(numbers)
print(average) # Выводит: 30.0
# Задание 4
is_even = lambda x: x % 2 == 0
even_numbers = list(filter(is_even, numbers))
print(even_numbers) # Выводит: [10, 20, 30, 40, 50]
В первом задании создается функция multiply, которая принимает два числа и возвращает их произведение. Во втором задании функция reverse_string принимает строку и возвращает ее в обратном порядке. В третьем задании используется встроенная функция sum и len для нахождения среднего значения списка чисел. В четвертом задании создается lambda функция для проверки четности числа и используется с функцией filter для отсеивания нечетных чисел из списка.
Этот урок охватывает основные аспекты работы с функциями в Python, включая определение и вызов функций, использование аргументов и параметров, работу со встроенными функциями и создание анонимных функций с помощью lambda. Практикуйтесь для лучшего понимания и освоения материала.