Faites attention à ce que vous pourriez comparer en plus.
>>> 1 == True
True
>>> 1 is True
False
True et False auront des identifiants d'objet stables pour toute leur durée de vie dans votre instance Python.
>>> id(True)
4296106928
>>> id(True)
4296106928
is
compare l'identifiant d'un objet
EDIT : ajout de or
Comme l'OP utilise or
dans la question, il peut être utile de le mentionner.
ou qui évalue à True : retourne le premier objet 'True'.
>>> 1 or True
1
>>> 'a' or True
'a'
>>> True or 1
True
ou qui évalue à False : retourne le dernier objet 'False'
>>> False or ''
''
>>> '' or False
False
et qui évalue à True : retourne le dernier objet 'True'
>>> True and 1
1
>>> 1 and True
True
et qui évalue à False : retourne le premier objet 'False'
>>> '' and False
''
>>> False and ''
False
C'est un idiome Python important qui permet un code concis et compact pour traiter la logique booléenne sur des objets Python réguliers.
>>> bool([])
False
>>> bool([0])
True
>>> bool({})
False
>>> bool({False: False})
True
>>> bool(0)
False
>>> bool(-1)
True
>>> bool('False')
True
>>> bool('')
False
Essentiellement, les objets 'vides' sont False, les objets 'non vides' sont True.
Combinez ceci avec les réponses de @detly et des autres pour obtenir des informations sur la manière d'utiliser if
et les booléens en Python.