Главная страница » Python » 51. Предикаты
Добро пожаловать на 51-й урок по Python! Сегодня мы будем говорить о предикатах. Предикаты — это функции или выражения, которые возвращают логическое значение (True
или False
). Они играют важную роль в программировании, особенно когда нужно фильтровать или проверять данные.
Предикат — это функция, которая возвращает логическое значение. В Python, предикаты часто используются для проверки условий и фильтрации данных.
Функция проверки четности
def is_even(n: int) -> bool:
return n % 2 == 0
print(is_even(4)) # Вывод: True
print(is_even(5)) # Вывод: False
Функция проверки наличия элемента в списке
def contains_element(lst: list, element) -> bool:
return element in lst
print(contains_element([1, 2, 3], 2)) # Вывод: True
print(contains_element([1, 2, 3], 4)) # Вывод: False
Предикаты позволяют создавать более читаемый и структурированный код, особенно в условиях и циклах.
Пример
def filter_positives(numbers: list) -> list:
return [n for n in numbers if is_even(n)]
print(filter_positives([1, 2, 3, 4, 5])) # Вывод: [2, 4]
Предикаты можно передавать в функции высшего порядка, такие как filter
, map
, и sorted
, чтобы сделать код более декларативным.
Пример с filter
def is_odd(n: int) -> bool:
return n % 2 != 0
numbers = [1, 2, 3, 4, 5]
odd_numbers = list(filter(is_odd, numbers))
print(odd_numbers) # Вывод: [1, 3, 5]
Лямбда-функции — это удобный способ определения предикатов для одноразового использования. Они помогают создать компактный и читаемый код.
Пример
# Использование лямбда-функции с filter
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda n: n % 2 == 0, numbers))
print(even_numbers) # Вывод: [2, 4]
Предикаты часто используются для проверки данных перед выполнением операций или сохранением данных.
Пример
def validate_age(age: int) -> bool:
return 0 <= age <= 120
print(validate_age(25)) # Вывод: True
print(validate_age(130)) # Вывод: False
Предикаты могут использоваться для определения, нужно ли выполнять определенный блок кода.
Пример
def perform_action(is_active: bool) -> None:
if is_active:
print("Action performed")
else:
print("No action taken")
perform_action(True) # Вывод: Action performed
perform_action(False) # Вывод: No action taken
Сегодня мы изучили предикаты в Python — функции, которые возвращают логическое значение. Вы узнали, как использовать предикаты для проверки условий, фильтрации данных и работы с функциями высшего порядка. Понимание предикатов поможет вам писать более чистый и понятный код.
Наша цель и главная задача сделать качественное образование в вашем браузере
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024 Все права защищены. CodeFor.