Главная страница » Python » 52. Комбинирование операций и функций
Добро пожаловать на 52-й урок по Python! Сегодня мы рассмотрим, как комбинировать операции и функции, чтобы создавать более мощные и гибкие программы. Комбинирование операций и функций позволяет разрабатывать более сложные и полезные конструкции, упрощая код и улучшая его читабельность.
Функции можно использовать внутри выражений и операций для обработки данных перед выполнением других операций.
Пример
def square(x: int) -> int:
return x * x
result = square(5) + 3
print(result) # Вывод: 28 (25 + 3)
В этом примере функция square
используется внутри выражения для вычисления квадрата числа, а затем прибавляется 3.
Функции могут быть переданы в качестве аргументов другим функциям. Это позволяет создавать более гибкие и настраиваемые функции.
Пример с функцией map
def double(x: int) -> int:
return x * 2
numbers = [1, 2, 3, 4]
doubled_numbers = list(map(double, numbers))
print(doubled_numbers) # Вывод: [2, 4, 6, 8]
Здесь функция double
передается в функцию map
, которая применяет её ко всем элементам списка numbers
.
Функции высшего порядка принимают функции в качестве аргументов и/или возвращают функции. Это позволяет создавать более абстрактные и мощные конструкции.
Пример с функцией filter
def is_even(n: int) -> bool:
return n % 2 == 0
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(is_even, numbers))
print(even_numbers) # Вывод: [2, 4]
Функция filter
принимает предикат (функцию is_even
) и список, и возвращает новый список, содержащий только те элементы, которые удовлетворяют условию.
Функции и операции могут быть объединены в сложные выражения для выполнения комплексных вычислений.
Пример
def add(x: int, y: int) -> int:
return x + y
def multiply(x: int, y: int) -> int:
return x * y
result = multiply(add(2, 3), add(4, 5))
print(result) # Вывод: 63 (5 * 9)
Здесь результат выполнения функции add
используется в качестве аргумента для функции multiply
.
Функции могут быть применены к результатам операций, а операции могут быть применены к результатам функций.
Пример
def increment(x: int) -> int:
return x + 1
def square(x: int) -> int:
return x * x
number = 5
result = square(increment(number))
print(result) # Вывод: 36 ((5 + 1) * (5 + 1))
В этом примере сначала выполняется функция increment
, а затем результат используется в функции square
.
Создайте новый файл с именем combining_operations_functions.py
.
Вставьте в него следующий код и выполните задания по комбинированию операций и функций:
# Задание 1: Функция для вычисления суммы квадратов двух чисел
def sum_of_squares(x: int, y: int) -> int:
return x * x + y * y
print(sum_of_squares(3, 4)) # Ожидаемый вывод: 25 (9 + 16)
# Задание 2: Функция для фильтрации и подсчета четных чисел
def count_even_numbers(numbers: list) -> int:
def is_even(n: int) -> bool:
return n % 2 == 0
return len(list(filter(is_even, numbers)))
print(count_even_numbers([1, 2, 3, 4, 5, 6])) # Ожидаемый вывод: 3
# Задание 3: Функция для вычисления суммы чисел в списке после умножения их на 2
def sum_doubled(numbers: list) -> int:
def double(x: int) -> int:
return x * 2
return sum(map(double, numbers))
print(sum_doubled([1, 2, 3])) # Ожидаемый вывод: 12 (2 + 4 + 6)
Запустите файл combining_operations_functions.py
, чтобы убедиться, что все примеры выполняются корректно.
Сегодня мы изучили, как комбинировать операции и функции в Python, чтобы создавать более сложные и гибкие конструкции. Вы узнали, как использовать функции внутри выражений, передавать их как аргументы другим функциям, а также как комбинировать функции с результатами операций.
Наша цель и главная задача сделать качественное образование в вашем браузере
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024 Все права защищены. CodeFor.