Est-ce que Python contient réellement une valeur booléenne? Je sais que tu peux faire:
checker = 1
if checker:
#dostuff
Mais je suis assez pédant et aime voir des booléens en Java. Par exemple:
Boolean checker;
if (someDecision)
{
checker = true;
}
if(checker)
{
//some stuff
}
Existe-t-il un booléen en Python? Je n'arrive pas à trouver quelque chose comme ça dans la documentation.
checker = None # not necessary
if some_decision:
checker = True
if checker:
# some stuff
[Modifier]
Pour plus d'informations: http://docs.python.org/library/functions.html#bool
Votre code fonctionne aussi, puisque 1
est converti en True
si nécessaire. En fait, Python n'a pas eu de type booléen pendant longtemps (comme dans l'ancien C), et certains programmeurs utilisent toujours des entiers au lieu de booléens.
Les fonctions intégrées booléennes sont capitalisées: True
et False
.
Notez aussi que vous pouvez utiliser checker = bool(some_decision)
comme un raccourci - bool
ne retournera jamais True
ou False
.
Il est bon de savoir pour référence future que les classes définissant __nonzero__
ou __len__
seront True
ou False
en fonction du résultat de ces fonctions, mais le résultat booléen de tous les autres objets sera pratiquement True
(sauf pour l'objet None
, les séquences vides et les zéros numériques).
True
... et False
évidemment.
Sinon, None
est évalué à False, de même que l'entier 0
et le flottant 0.0
(bien que je n'utilise pas de tels flottants). De même, les listes vides []
, les n-olets vides ()
et les chaînes vides ''
ou ""
sont évalués à False.
Essayez vous-même avec la fonction bool()
:
bool([])
bool(['a value'])
bool('')
bool('A string')
bool(True) # ;-)
bool(False)
bool(0)
bool(None)
bool(0.0)
bool(1)
etc..
Les types booléens sont définis dans la documentation:
http://docs.python.org/library/stdtypes.html#boolean-values
Citation de doc:
Les valeurs booléennes sont les deux objets constants False et True. Ils sont utilisés pour représenter des valeurs de vérité (bien que d'autres valeurs puissent également être considérées comme fausses ou vraies). Dans les contextes numériques (par exemple, lorsqu'ils sont utilisés comme arguments d'un opérateur arithmétique), ils se comportent comme les entiers 0 et 1, respectivement. La fonction intégrée bool () peut être utilisée pour convertir n'importe quelle valeur en booléen, si cette valeur peut être interprétée comme une valeur de vérité (voir la section Test de valeur de vérité ci-dessus).
Ils sont écrits respectivement comme False et True.
Donc, dans le code Java, supprimez les accolades, remplacez true
par True
et tout ira bien :)
Oui, il existe un type de données bool
(qui hérite de int
et n'a que deux valeurs: True
et False
).
Mais aussi Python a le concept boolean-able
pour chaque objet, qui est utilisé lorsque la fonction bool([x])
est appelée.
Voir plus: objet. non nul et valeur booléenne des objets en python .
Contrairement à Java où vous déclareriez boolean flag = True
, en Python, vous pouvez simplement déclarer myFlag = True
Python interpréterait cela comme une variable booléenne