Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Логічні оператори | Булеві Значення та Порівняння
Типи Даних у Python

Логічні оператори

Свайпніть щоб показати меню

Люди кажуть так і так, так або ні, точно ні. У Python логічні оператори and, or та not формально виражають ці ідеї та повертають булеві значення (True/False), які використовуються з порівняннями у if/while.

Значення кожного оператора

Пріоритет

not має вищий пріоритет, ніж and, а and — вищий, ніж or (not > and > or). Використовуйте дужки, якщо є сумніви.

Наприклад, age >= 18 and has_id дорівнює True лише якщо обидві перевірки виконуються:

123
age = 21 has_id = True print(age >= 18 and has_id) # True

Таблиця істинності

Таблиця істинності містить усі можливі значення істинності вхідних даних і показує результат логічного виразу. Це компактний спосіб аналізу логіки без виконання коду.

Використання таблиці

Якщо X дорівнює False, а Y дорівнює True, тоді X and Y дорівнює False, X or Y дорівнює True, а not X дорівнює True.

Повернення значень і коротке замикання (short-circuiting)

and і or не завжди повертають булеві значення True або False. Замість цього вони повертають один зі своїх операндів, і Python припиняє обчислення раніше (коротке замикання), як тільки остаточний результат стає очевидним.

  • A and B:

  • Якщо A є хибним (falsy), результат гарантовано буде хибним, тому Python виконує коротке замикання і повертає A (без обчислення B).

  • Якщо A є істинним (truthy), результат повністю залежить від B, тому Python обчислює і повертає B.

  • A or B:

  • Якщо A є істинним (truthy), результат гарантовано буде істинним, тому Python виконує коротке замикання і повертає A (без обчислення B).

  • Якщо A є хибним (falsy), результат повністю залежить від B, тому Python обчислює і повертає B.

  • not X завжди повертає справжнє булеве значення: True або False.

1234567891011121314151617
# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy

1. Заповніть пропуски значеннями True або False. Нехай X = True, Y = False.

2. Яке твердження відповідає класичній логіці для "ні X, ні Y"?

3. Що повертає цей вираз?

question-icon

Заповніть пропуски значеннями True або False. Нехай X = True, Y = False.

X and Y
not X

X or Y

Click or drag`n`drop items and fill in the blanks

question mark

Яке твердження відповідає класичній логіці для "ні X, ні Y"?

Виберіть правильну відповідь

question mark

Що повертає цей вираз?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 4
some-alt