Що таке bool у Python
Клас bool() у Python, логічне значення об'єкта
Дозволяє перевірити/дізнатися логічне значення об'єкта
Синтаксис:
Параметри:
Значення, що повертається:
Опис:
Клас bool() повертає логічне значення вказаного об'єкта, True чи False
Об'єкт завжди буде повертати False , якщо:
- Об'єкт порожній - [], (), <>;
- Порожній рядок '';
- Об'єкт - False;
- Об'єкт дорівнює 0;
- Об'єкт - None.
Насправді рідко вручну користуються змінними типу bool , які відтворюються логічними перевірками, оскільки логічні результати автоматично використовуються інструкціями if . else та іншими засобами вибору.
Приклади перевірки об'єкта на його логічне значення.
x = bool(10) print(x) # Висновок True x = bool(0) print(x) # Висновок False x = bool([0]) print(x) # Висновок True x = bool([]) print(x) # Висновок False
- ОГЛЯДНА СТОРІНКА РОЗДІЛУ
- Функція abs(), абсолютне значення числа
- Функція all(), усі елементи True
- Функція any(), хоча один елемент True
- Функція ascii(), перетворює рядок на ASCII
- Функція bin(), число в двійковий рядок
- Клас bool(), логічне значення об'єкта
- Функція breakpoint(), відладчик коду
- Клас bytearray(), перетворює на масив байтів
- Клас bytes(), перетворює на рядок байтів
- Функція callable(), перевіряє чи можна викликати об'єкт
- Функція chr(), число символ Юнікоду
- Клас classmethod, виконує функцію методом класу
- Функція compile() компілює блок коду Python
- Клас complex(), перетворює на комплексне число
- Функція delattr() видаляє атрибут об'єкта
- Клас dict() створює словник
- Функція dir(), всі атрибути об'єкта
- Функція divmod(), ділить числа із залишком
- Функція enumerate(), лічильник елементів послідовності
- Функція eval(), виконує рядок-вираз із кодом
- Функція exec() виконує блок коду
- Функція filter(), фільтрує список за умовою
- Клас float(), перетворює на речовинне число
- Функція format(), форматує значення змінної
- Клас frozenset(), перетворює на незмінне безліч
- Функція getattr(), значення атрибуту на ім'я
- Функція globals(), змінні глобальної області
- Функція hasattr(), наявність атрибута об'єкта
- Функція hash(), хеш-значення об'єкта
- Функція help(), довідка по будь-якому об'єкту
- Функція hex(), число в шістнадцятковий рядок
- Функція id(), ідентифікатор об'єкта
- Функція input(), введення даних із клавіатури
- Клас int(), перетворює на тип int
- Функція isinstance(), приналежність екземпляра до класу
- Функція issubclass(), перевіряє успадкування класу
- Функція iter() створює ітератор
- Функція len(), кількість елементів об'єкта
- Клас list()
- Функція locals(), змінні локальної області
- Функція map(), обробка послідовності без циклу
- Функція max(), максимальне значення елемента
- Клас memoryview(), посилання на буфер обміну
- Функція min(), мінімальне значення елемента
- Функція next(), наступний елемент ітератора
- Клас object(), повертає безликий об'єкт
- Функція oct(), число у вісімковий рядок
- Функція open() відкриває файл на читання/запис
- Функція ord(), число символу Unicode
- Функція pow(), зводить число до ступеня
- Функція print(), друкує об'єкт
- Клас property(), метод класу як властивість
- Клас range(), що генерує арифметичні послідовності
- Функція repr(), опис об'єкту
- Функція reversed(), розгортає послідовність
- Функція round(), округляє число
- Клас set(), створює або перетворює на безліч
- Функція setattr() створює атрибут об'єкта
- Клас slice(), шаблон зрізу
- Функція sorted(), виконує сортування
- Декоратор staticmethod(), метод класу в статичний метод
- Клас str(), перетворює об'єкт у рядок
- Функція sum(), сума послідовності
- Функція super(), доступ до успадкованих методів
- Клас tuple(), створює або перетворює на кортеж
- Клас type(), повертає тип об'єкту
- Функція vars(), словник змінних об'єктів
- Функція zip(), об'єднати елементи у список кортежів
- Функція __import__(), знаходить та імпортує модуль
- Функція aiter() створює асинхронний ітератор.
- Функція anext(), наступний елемент асинхронного ітератора
Логічний тип даних bool у Python
Вбудований клас bool() може використовуватися для перетворення будь-якого значення на логічне, якщо це значення можна інтерпретувати як значення істинності. Якщо аргумент опущений повернеться False.
На замітку:
Тип bool є підтипом цілого int.
x = bool(10) print(x) # True x = bool('foo') print(x) # True x = bool([0, 1, 2, 3, 4, 5, 6]) print(x) # True x = bool(0) print(x) # False x = bool('') print(x) # False x = bool([]) print(x) # False
Хороший стиль програмування на Python вимагає уникати таких викликів, якщо в цьому немає особливої потреби, як найчастіше і буває: завжди використовуйте тільки конструкцію if x і ніколи не використовуйте конструкції:
- if bool(x):
- if x is True:
- if x == True:
- if bool(x) == True:
У той же час можна використовувати дзвінки bool(x) для підрахунку кількості дійсних елементів у послідовності, наприклад:
def count(iter): return sum(bool(x) for x in iter)
У цьому прикладі виклик функції bool гарантує, що кожен елемент послідовності seq буде підраховуватись зі значенням 0, якщо він помилковий або зі значенням 1, якщо він є істинним, тому функція count(iter) більш універсальна порівняно з функцією sum(iter) .
Тип bool не дозволяє успадковуватись. Його єдині екземпляри - False та True.
Для об'єкта користувача реалізувати поведінку при перевірці на його істинність можна в методі bool.
x = isinstance(True, int) print(x) # True x = isinstance(False, int) print(x) # True
Перетворення 0,1 на тип bool і назад
Використання функцій bool() та int()
>>> bool(1) # True >>> bool(0) # False >>> int(True) # 1 >>> int(False) # 0
Використання функції map()
Функція map() створює об'єкт map.
>>> map(bool, [0, 1, 0, 1]) # # Потрібно перетворити об'єкт map на список. >>> list(map(bool, [0, 1, 0, 1])) # [False, True, False, True] >>> list(map(int,[True, True, False, False])) # [1, 1, 0, 0]
Використання генератора списку
>>> [bool(x) for x in [0, 1, 0, 1]] # [False, True, False, True] >>> [x==1 for x in [0, 1, 0, 1]] # [False, True, False, True] >>> [int(x) for x in [True, True, False, False]] # [1, 1, 0, 0]
Перетворення рядків 'on'/'off' на тип bool
>>> [x=="on" for x in ["on", "off", "on", "off", "on"]] # [True, False, True, False, True]
Перетворення рядків 'on'/'off' на 0/1 за допомогою словника
>>> dict_map = . "on": 1, . "off": 0 . > >>> dict_map # >>> [dict_map[x] for x in ["on", "off", "on", "off", "on"]] # [1, 0, 1, 0, 1] # Видає помилку, якщо запитано невідомий ключ >>> [dict_map[x] for x in ["on", "off", "on", "off", "on", "error"]] # Traceback (most recent call last): # File "", line 1, in # File "", line 1, in # KeyError: 'error' # Замінюємо невідомий ключ значенням за промовчанням - 'None' >>> [dict_map.get(x) for x in ["on", "off", "on", "off", "on", "error"]] # [1, 0, 1, 0, 1, None] # Замінюємо невідомий ключ значенням, вказаним користувачем, наприклад. >>> [dict_map.get(x, ". ") for x in ["on", "off", "on", "off", "on", "error"]] # [1, 0, 1, 0, 1, '. ']
- КОРОТКИЙ ОГЛЯД МАТЕРІАЛУ.
- Качина типізація 'Duck Typing'
- Що таке об'єкт, що викликається callable?
- Як перевірити тип змінної/об'єкта
- Логічний тип даних bool
- Цілі числа int
- Обмеження довжини перетворення цілого рядка
- Речові числа float
- Комплексні числа complex
- Типи послідовностей
- Список листів
- Кортеж tuple
- Діапазон range
- Текстові рядки str
- Словник dict
- Безліч set і frozenset
- Ітератор Iterator, протокол ітератора
- Генератор generator та вираз yield
- Контекстний менеджер with
- Байтові рядки bytes
- Байтовий масив bytearray
- Тип memoryview, буфер обміну
- Файловий об'єкт file object
- Універсальний псевдонім GenericAlias
- Об'єкт об'єднання Union
Bool у Python: що це і навіщо потрібно знати
У мові програмування Python тип даних bool (логічний тип) представляє два стани: True та False.
Приклади використання типу даних bool:
python x = 5 y = 10 z = x < y # змінна z міститиме значення True, тому що x менше y print(z) # виводить True
python a = 20 b = 50 c = a > b # змінна c міститиме значення False, тому що a більше b print(c) # виводить False
Логічні оператори and, or і not можуть набувати значення типу bool і повертати значення типу bool.
python x = 5 y = 10 z = x < y and x > 0 # змінна z міститиме значення True, тому що x менше y і більше нуля print(z) # виводить True
python a = 20 b = 50 c = not (a > b) # змінна c міститиме значення True, тому що a не більше b print(c) # виводить True
Також тип bool Python може бути використаний для умовного виконання коду в операторах if і while.
Тип даних bool широко використовується у програмуванні для перевірки умов та прийняття рішень на основі результатів цих перевірок.