Логічний тип
даних у мові Python
Подібні фрази
припускають тільки два можливих відповіді - або "так", коли вираз
оцінюється як правда, істина, або "ні", коли твердження оцінюється як
помилкове, хибне. У програмуванні та математиці якщо результатом обчислення
виразу може бути лише істина або неправда, то такий вислів називається
логічним.
Крім арифметичних операцій, зі школи нам відомі операції порівняння. Наприклад, 5 > 4. Це звучить як питання: «5 більше 4?». В даному випадку відповідь «так». В інших випадках відповіддю може бути «ні» (наприклад, для 3 < 1).
Операції
порівняння не мають прив'язки до чисел. Порівнювати можна практично все що
завгодно, наприклад, рядки. Кожен раз, коли ми входимо на якийсь сайт,
всередині відбувається порівняння введених логіна і пароля з тими, які є в
базі. І тільки якщо вони є, нас пускають всередину.
Мови
програмування пристосували для своїх потреб всі математичні операції порівняння
практично в незмінному вигляді. Єдина серйозна відмінність - оператори рівності
і нерівності. В математиці для цього використовується звичайне одно =, але в
програмуванні таке зустрічається не часто. У багатьох мовах символ =
використовується для присвоювання значень змінним, тому для порівняння в Python
взяли подвійний значок ==.
Наприклад,
вираз 4 > 5 є логічним, так як його результатом є або правда, або неправда.
Вираз 4 + 5 не є логічним, так як результатом його виконання є число.
Раніше з
трьома типами даних - цілими і дійсними числами, а також рядками. Сьогодні
введемо четвертий - логічний тип даних (тип bool). Його також називають
булевим. У цього типу всього два можливих значення: True (правда) і False (неправда).
У
програмуванні False зазвичай прирівнюють до нуля, а True - до одиниці.
- < —
менше
- <= — менше або дорівнює (не більше)
- > —
більше
- >= — більше або дорівнює (не менше)
- == — дорівнює
- != — не дорівнює
Ці операції
можна застосувати не тільки до чисел. Наприклад, за допомогою оператора
рівності можна порівняти рядки:
password ==
text - це порівняння ідентичності рядків, записаних в різних змінних.
Логічна
операція типу 5 > 4 або password == text - це вираз, і його результат -
спеціальне значення True («істина»)
або False («неправда»). Це новий для
нас тип даних - bool.
Поряд з
рядками (str) і цілими і дробовими числами, тип bool (логічний) - це один з
простих типів даних в Python.
Визначення:
• Логічний тип
(bool) - тип даних з двома можливими значеннями: True (істина) і False
(брехня).
Говорячи на
природній мові (наприклад, українською) ми позначаємо порівняння словами "дорівнює",
"більше", "менше". У мовах програмування використовуються
спеціальні знаки, подібні до тих, які використовуються в математиці: > (більше),
< (менше), >= (більше або дорівнює), <= (менше або дорівнює), ==
(дорівнює), != (не дорівнює).
Не плутайте
операцію присвоювання значення змінної, що позначається в мові Python одиничним
знаком "дорівнює", і операцію порівняння (два знаки "дорівнює").
Присвоєння і порівняння - різні операції.
Наприклад:
>>> a
= 10
>>> b
= 5
>>> a
+ b > 14
True
>>> a
< 14 - b
False
>>> a
<= b + 5
True
>>>
a != B
True
>>> a
== b
False
>>> c
= a == b
>>>
a, b, c
(10, 5, False)
В даному прикладі вираз c = a == b складається з двох підвиразів. Спочатку відбувається порівняння (==) змінних a і b. Після цього результат логічної операції присвоюється змінної c. Вираз a, b, c просто виводить значення змінних на екран.
У таких
випадках використовуються спеціальні оператори, що об'єднують два і більше
простих логічних вирази. Широко використовуються два оператора:
-
логічне множення
(логічне І (and))
-
логічне додавання
(логічне АБО (or))
Щоб отримати
True при використанні оператора and, необхідно,
щоб результати обох простих виразів, які пов'язує цей оператор, були правдивими.
Якщо хоча б в одному випадку результатом буде False, то і все складне вираз
буде хибним.
Щоб отримати
True при використанні оператора or, необхідно,
щоб результат хоча б одного простого вираження, що входить до складу складного,
був правдивим. У разі використання оператора or
складний вираз стає хибним лише тоді, коли хибними є обидва його складові
прості вирази.
Припустимо,
змінній x було присвоєно значення 8 (x = 8), змінній y привласнили 13 (y = 13).
Логічний вираз y < 15 and x > 8 буде
виконуватися наступним чином. Спочатку виконається вираз y < 15.
Його результатом буде True. Потім
виконається вираз x > 8. Його
результатом буде False. Далі вираз зведеться до True and False, що поверне False.
>>>
y = 13
>>>
y < 15 and x > 8
False
У випадку з
оператором or другий простий вираз перевіряється,
якщо перший повернув неправду, і не перевіряється, якщо вже перший повернуло
істину. Так як для істинності всього висловлювання досить єдиного True, неважливо по яку сторону від
оператора or.
Немає коментарів:
Дописати коментар