Как я использую булевскую переменную в Python?

На данном этапе без большого нового направления в отслеживании ошибок / покупка билетов, это просто перестроило бы колесо. Который, кажется, то, что все остальные думают, обычно.

107
задан Stevoisiak supports Monica 16 March 2018 в 18:12
поделиться

5 ответов

checker = None 

if some_decision:
    checker = True

if checker:
    # some stuff

[Изменить]

Для получения дополнительной информации: http://docs.python.org/library/functions.html#bool

Ваш код тоже работает, поскольку 1 является при необходимости конвертируется в Истинно . На самом деле в Python долгое время не было логического типа (как в старом C), и некоторые программисты до сих пор используют целые числа вместо логических.

139
ответ дан 24 November 2019 в 03:38
поделиться

Логические встроенные команды начинаются с заглавной буквы: Истина и Ложь .

Также обратите внимание, что вы можете сделать checker = bool (some_decision) в сокращенном виде - bool будет возвращать только True или False .

Полезно знать для справки в будущем, что классы, определяющие __ nonzero __ или __ len __ ] будет Истина или Ложь в зависимости от результата этих функций, но практически любой другой объект 's логическим результатом будет True (за исключением объекта None , пустых последовательностей и числовых нулей).

91
ответ дан 24 November 2019 в 03:38
поделиться

Да, существует тип данных bool (который наследуется от int и имеет только два значения: True и False ).

Но также Python имеет концепцию логических значений для каждого объекта, которая используется при вызове функции bool ([x]) .

Подробнее: объект. ненулевое и логическое-значение-объектов-в-питоне .

3
ответ дан 24 November 2019 в 03:38
поделиться

True ... и False , очевидно.

В противном случае None оценивается как False, как и целое число 0 , а также число с плавающей запятой 0,0 (хотя я бы не стал использовать такие поплавки). Кроме того, пустые списки [], пустые кортежи () и пустые строки '' или «» оцениваются как False.

Попробуйте сами с функция bool () :

bool([])
bool(['a value'])
bool('')
bool('A string')
bool(True)  # ;-)
bool(False)
bool(0)
bool(None)
bool(0.0)
bool(1)

и т. д.

11
ответ дан 24 November 2019 в 03:38
поделиться

Логические типы определены в документации:
http://docs.python.org/library/stdtypes.html#boolean-values ​​

Цитируется из документа:

Boolean значения - это два постоянных объекта False и True. Они используются для представления значений истинности (хотя другие значения также могут считаться ложными или истинными). В числовом контексте (например, при использовании в качестве аргумента арифметического оператора) они ведут себя как целые числа 0 и 1 соответственно. Встроенная функция bool () может использоваться для приведения любого значения к логическому, если это значение может быть интерпретировано как значение истинности (см. Раздел «Проверка истинности значения» выше).

Они записываются как False и True соответственно .

Итак, в java-коде удалите фигурные скобки, измените true на True , и все будет в порядке :)

5
ответ дан 24 November 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: