„Tühi“ ja „mittetühi“ objekt tingimuslauses

Nõuanne

Pythonis on kõik „tühi“ tõeväärtusega False ja „mittetühi“ True.

if ehk bool kontekstis on Pythonis False väärtusega:

  • False

  • None

  • tühjad sõned - '' and ""

  • tühjad konteinerid - tühi list, tühi dict, tühi tuple, jne

  • numbrilised väärtused, mis on võrdsed nulliga - 0, 0.0, -0.0

  • pythoni objektid, mis implementeerivad __bool__ tagastama False või 0

  • pythoni objektid, mis ei implementeeri __bool__, kuid __len__ tagastab 0

Kõike muud peetakse pythonis if juures True-ks.

if not []:  # [] -> False
    print("List is empty.")

if [1, 2, 3]:  # [1, 2, 3] -> True
    print("List has elements.")
>>> bool({})
False
>>> bool({"a": 2})
True
>>> bool(1,)
True
>>> bool(())
False
>>> bool('')
False

Alljärgnevat on hea teada, kuid sellise koodi kirjutamine võib vähendada koodi loetavust.

# python

if 100:
    print("True")

if not 0:
    print("True")

# Output:
# True
# True
>>> bool(0)
False
>>> bool(0.0)
False
>>> bool(-0.0)
False
>>> bool(1)
True
>>> bool(555)
True