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

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

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

Що означає кожен оператор

Пріоритет

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

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

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

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

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

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

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

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

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

  • A and B:

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

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

  • A or B:

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

  • Якщо A є хибним значенням, результат залежить від B і вираз обчислюється як 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
copy

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

question mark

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

Select the correct answer

question mark

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

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain what "short-circuiting" means in more detail?

What are some common mistakes when using these logical operators in Python?

Can you give more real-world examples of using `and`, `or`, and `not`?

Awesome!

Completion rate improved to 5.26

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

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

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

Що означає кожен оператор

Пріоритет

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

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

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

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

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

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

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

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

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

  • A and B:

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

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

  • A or B:

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

  • Якщо A є хибним значенням, результат залежить від B і вираз обчислюється як 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
copy

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

question mark

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

Select the correct answer

question mark

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

Select the correct answer

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

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

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

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