May 29, 2024

Урок: Функции

Функции

Функции в 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.

Практическое задание

  1. Определите функцию, которая принимает два числа и возвращает их произведение.
  2. Напишите функцию, которая принимает строку и возвращает ее в обратном порядке.
  3. Используйте встроенные функции для нахождения среднего значения списка чисел.
  4. Создайте 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. Практикуйтесь для лучшего понимания и освоения материала.