- Логический тип данных (bool) в Python
- Преобразования
- Другие типы → bool
- bool → str
- bool → int
- Логический тип и операторы
- Функция bool() в Python
- Что такое функция bool() в Python?
- Стандартные правила Python bool()
- Функция bool() с пользовательским объектом
- Python Booleans
- Boolean Values
- Example
- Example
- Evaluate Values and Variables
- Example
- Example
- Most Values are True
- Example
- Some Values are False
- Example
- Example
- Functions can Return a Boolean
- Example
- Example
- Example
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
Логический тип данных (bool) в Python
Логический тип данных (bool) (или булевый тип) это примитивный тип данных, который принимает 2 значения — истина или ложь.
В Python имеется самостоятельный логический тип bool , с двумя предопределенными значениями:
True и False пишутся с большой буквы. Если написать с маленькой true , интерпретатор выдаст ошибку: NameError: name ‘true’ is not defined
True и False являются экземплярами класса bool который в свою очередь является подклассом int Поэтому True и False в Python ведут себя как числа 1 и 0. Отличие только в том, как они выводятся на экран.
>>> True True >>> type(True) >>> isinstance(True, int) True >>> True == 1 True >>> True + 4 # True это число 1 5 >>> 5 * False # False это число 0 0
Часто логический тип данных используется в ветвлениях if . Если результат выполнения True — выполняется соответствующая ветка.
Цикл while работает аналогичным образом — цикл выполняется до тех пор, пока логическое выражение True .
>>> count = 5 >>> while count: print(«count = <>«.format(count)) count -= 1 count = 5 count = 4 count = 3 count = 2 count = 1
Преобразования
Другие типы → bool
В Python для приведения других типов данных к булевому типу, используется функция bool() Работает эта функция по следующему соглашению:
- непустая строка (в том числе если это один или несколько пробелов);
- ненулевое число (в том числе меньшее единицы, например -5);
- непустой список/кортеж (даже если он содержит один пустой элемент, например пустой кортеж);
- функция.
👉 Функция bool() вернет False:
bool → str
Бывают ситуации, когда нам необходимо получить True и False в строковом представлении. Если выполнить код ниже, он вызовет ошибку:
print(«answer is » + True) TypeError: can only concatenate str (not «bool») to str
Ошибка произошла потому, что Python не выполняет неявное приведение типов (как например JavaScript), так как неявное приведение может маскировать логические ошибки.
Для вывода на экран булевого значения, необходимо привести его к строке:
>>> answer = True >>> print(«my answer is » + str(True)) my answer is True
или используйте форматирование строки:
print(«my answer is <>«.format(True))
bool → int
Встроенная функция int() преобразует логическое значение в 1 или 0.
Аналогичного результата можно добиться умножением логического типа на единицу:
Логический тип и операторы
Операторы — это своего рода функционал, представленный в виде символов (например + ==) или зарезервированных слов (например and not).
В Python используется несколько типов операторов. Мы же рассмотрим только операторы сравнения и логические операторы , т.к. результатом их выполнения являются True или False .
>>> 1 == 5 False >>> 1 != 5 True >>> 1 > 5 False >>> 1 < 5 True >>> 1 >= 5 False >>> 1
>>> (1 + 1 == 2) or (2 * 2 == 5) True >>> (1 + 1 == 2) and (2 * 2 == 5) False >>> (1 + 1 == 2) and not (2 * 2 == 5) True
Функция bool() в Python
Не обязательно передавать значение в bool(). Если вы не передаете значение, bool() возвращает False. Функция Python bool() проверяет и возвращает логическое значение указанного объекта.
Что такое функция bool() в Python?
Python bool() — это встроенная функция, которая преобразует значение в логическое значение (True или False), используя стандартную процедуру проверки истинности. Логические встроенные функции пишутся с заглавной буквы: True и False.
Объект всегда будет возвращать True, если только:
- Объект пустой, например [],(), <>
- Является ложным
- Объект 0
- Объект отсутствует.
Параметр объекта похож на строку, список, число и т. д.
bool() возвращает следующий вывод:
Стандартные правила Python bool()
Функция Python bool() использует стандартные правила проверки истинности для преобразования указанного объекта параметра в логическое значение.
Основные правила, используемые для возврата логического значения, следующие:
- Любое логическое значение объекта считается истинным, если оно не реализует функции __bool__() и __len__().
- Если объект не определяет функцию __bool__(), но определяет функцию __len__(), то функция __len__() используется для получения логического значения объекта. Если __len__() возвращает 0, то функция bool() вернет False, иначе True.
- Логическое значение будет False для констант None и False.
- Логическое значение будет False для нулевого значения, такого как 0, 0.0, 0j, Decimal(0) и Fraction(0, 1).
- Логическое значение будет False для пустых структур данных, таких как кортеж, словарь и коллекции, такие как «,(), [], <> и т. д.
Функция bool() с пользовательским объектом
Давайте посмотрим, что происходит с пользовательским объектом. Я не буду определять функции __bool__() и __len__() для объекта. См. следующий пример кода.
Python Booleans
Booleans represent one of two values: True or False .
Boolean Values
In programming you often need to know if an expression is True or False .
You can evaluate any expression in Python, and get one of two answers, True or False .
When you compare two values, the expression is evaluated and Python returns the Boolean answer:
Example
When you run a condition in an if statement, Python returns True or False :
Example
Print a message based on whether the condition is True or False :
if b > a:
print(«b is greater than a»)
else:
print(«b is not greater than a»)
Evaluate Values and Variables
The bool() function allows you to evaluate any value, and give you True or False in return,
Example
Evaluate a string and a number:
Example
Most Values are True
Almost any value is evaluated to True if it has some sort of content.
Any string is True , except empty strings.
Any number is True , except 0 .
Any list, tuple, set, and dictionary are True , except empty ones.
Example
The following will return True:
Some Values are False
In fact, there are not many values that evaluate to False , except empty values, such as () , [] , <> , «» , the number 0 , and the value None . And of course the value False evaluates to False .
Example
The following will return False:
One more value, or object in this case, evaluates to False , and that is if you have an object that is made from a class with a __len__ function that returns 0 or False :
Example
class myclass():
def __len__(self):
return 0
Functions can Return a Boolean
You can create functions that returns a Boolean Value:
Example
Print the answer of a function:
def myFunction() :
return True
You can execute code based on the Boolean answer of a function:
Example
Print «YES!» if the function returns True, otherwise print «NO!»:
def myFunction() :
return True
if myFunction():
print(«YES!»)
else:
print(«NO!»)
Python also has many built-in functions that return a boolean value, like the isinstance() function, which can be used to determine if an object is of a certain data type:
Example
Check if an object is an integer or not:
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.