Comment puis-je utiliser un Booléen en Python?
Python en fait contenir une valeur Booléenne? Je sais que vous pouvez faire:
checker = 1
if checker:
#dostuff
Mais je suis assez pédant et le plaisir de voir les booléens en Java. Par exemple:
Boolean checker;
if (someDecision)
{
checker = true;
}
if(checker)
{
//some stuff
}
Est-il une telle chose comme une valeur Booléenne en Python? Je n'arrive pas à trouver quelque chose comme cela dans la documentation.
- Rappelez-vous... vous n'avez pas besoin de déclarer des types lors de la création d'une variable. Juste "checker = False' suffira.
- Bou-Samra: "vous n'avez pas besoin de déclarer les types"? Ce n'est pas tout à fait vrai. Je pense que vous devriez dire "vous ne pouvez pas déclarer un type pour une variable."
- ne peut pas déclarer un type pour une variable"... toujours pas vrai parce que vous pouvez transtypage
some_var = int("1234")
... cette ligne définit explicitementsome_var
=>int
Vous devez vous connecter pour publier un commentaire.
[Modifier]
Pour plus d'informations: http://docs.python.org/library/functions.html#bool
Votre code fonctionne aussi, depuis
1
est converti àTrue
lorsque cela est nécessaire.Effectivement Python n'ai pas de type booléen pour une longue période (comme dans les anciennes C), et certains programmeurs utilisent toujours des nombres entiers au lieu de booléens.
True
etFalse
sont des références à des étenduesint
objets avec surchargée__str__
et__repr__
.1 is not True
, mais1 == True
.int
type, comme le montre parisinstance(True, int)
.Le booléen objets internes sont capitalisés:
True
etFalse
.Notez aussi que vous pouvez faire
checker = bool(some_decision)
comme un peu de sténographie --boolean
ne jamais revenirTrue
ouFalse
.C'est bon à savoir pour référence future que les classes de la définition de
__différente de zéro__
ou__len__
seraTrue
ouFalse
selon le résultat de ces fonctions, mais presque tous les autres de l'objet booléen résultat seraTrue
(sauf pour leNone
objet, vide séquences numériques et des zéros).True
... etFalse
évidemment.Sinon,
None
est évaluée à Faux, comme l'entier0
et aussi le flotteur0.0
(bien que je ne voudrais pas utiliser des flotteurs comme ça).Aussi, vide listes
[]
, vide triolets()
, et les cordes à vide''
ou""
la valeur False.Essayer vous-même avec la fonction
bool()
:etc..
Boolean types sont définis dans la documentation:
http://docs.python.org/library/stdtypes.html#boolean-values
Cité de la doc:
Donc dans du code java supprimer les accolades, changement
true
àTrue
et vous serez ok 🙂Oui, il y a un
bool
type de données (qui hérite deint
et n'a que deux valeurs:True
etFalse
).Mais aussi Python a la
boolean-able
concept pour chaque objet, qui est utilisé lorsque la fonctionbool([x])
est appelé.Voir plus: objet.différente de zéro et boolean-valeur-des-objets-en-python.
Contrairement à Java où vous pouvez déclarer des
boolean flag = True
, en Python, vous pouvez simplement déclarermyFlag = True
Python interpréter cela comme une variable booléenne