На данном этапе без большого нового направления в отслеживании ошибок / покупка билетов, это просто перестроило бы колесо. Который, кажется, то, что все остальные думают, обычно.
checker = None
if some_decision:
checker = True
if checker:
# some stuff
[Изменить]
Для получения дополнительной информации: http://docs.python.org/library/functions.html#bool
Ваш код тоже работает, поскольку 1
является при необходимости конвертируется в Истинно
.
На самом деле в Python долгое время не было логического типа (как в старом C), и некоторые программисты до сих пор используют целые числа вместо логических.
Логические встроенные команды начинаются с заглавной буквы: Истина
и Ложь
.
Также обратите внимание, что вы можете сделать checker = bool (some_decision)
в сокращенном виде - bool
будет возвращать только True
или False
.
Полезно знать для справки в будущем, что классы, определяющие __ nonzero __
или __ len __
] будет Истина
или Ложь
в зависимости от результата этих функций, но практически любой другой объект 's логическим результатом будет True
(за исключением объекта None
, пустых последовательностей и числовых нулей).
Да, существует тип данных bool
(который наследуется от int
и имеет только два значения: True
и False
).
Но также Python имеет концепцию логических значений
для каждого объекта, которая используется при вызове функции bool ([x])
.
Подробнее: объект. ненулевое и логическое-значение-объектов-в-питоне .
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)
и т. д.
Логические типы определены в документации:
http://docs.python.org/library/stdtypes.html#boolean-values
Цитируется из документа:
Boolean значения - это два постоянных объекта False и True. Они используются для представления значений истинности (хотя другие значения также могут считаться ложными или истинными). В числовом контексте (например, при использовании в качестве аргумента арифметического оператора) они ведут себя как целые числа 0 и 1 соответственно. Встроенная функция bool () может использоваться для приведения любого значения к логическому, если это значение может быть интерпретировано как значение истинности (см. Раздел «Проверка истинности значения» выше).
Они записываются как False и True соответственно .
Итак, в java-коде удалите фигурные скобки, измените true
на True
, и все будет в порядке :)