Урок: Функции
Функции
Функции в 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
. Практикуйтесь для лучшего понимания и освоения материала.