python: как включить 0 в булеву логику - PullRequest
0 голосов
/ 14 апреля 2019

У меня есть переменная var, которая может иметь целочисленное значение или None.Я пытаюсь показать его значение.Если значение является целочисленным значением, то я бы напечатал целочисленное значение, но если это None, я бы не хотел ничего отображать "".

Следующий код хорошо работает для всех целочисленных значений, кроме 0.

var = 0
print var or ""

Следующий код отображает "".Я хотел бы отобразить 0 здесь вместо "".Есть обходные пути?

Ответы [ 2 ]

0 голосов
/ 14 апреля 2019

Попробуйте это.

var = 0
print var or ("" and var)
0 голосов
/ 14 апреля 2019

0 любого числового типа имеет значение false (см. https://docs.python.org/3/library/stdtypes.html#truth-value-testing, поэтому вы не можете иметь его как истинное с использованием логической логики. Как отмечено в комментариях, вы можете использовать выражение вместо

...