Python contient-il 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 quoi que ce soit de semblable dans la documentation.
some_var = int("1234")
... cette ligne définit explicitementsome_var
=>int
Réponses:
[Éditer]
Pour plus d'informations: http://docs.python.org/library/functions.html#bool
Votre code fonctionne également, car il
1
est converti enTrue
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 encore des entiers au lieu de booléens.la source
True
etFalse
sont des références à desint
objets étendus avec overriden__str__
et__repr__
.1 is not True
, mais1 == True
.int
type, comme indiqué parisinstance(True, int)
.Les constructions booléennes sont en majuscules:
True
etFalse
.Notez également que vous pouvez faire
checker = bool(some_decision)
un peu de raccourci -bool
ne reviendra jamais queTrue
ouFalse
.Il est bon de savoir pour référence future que les classes définissant
__nonzero__
ou__len__
serontTrue
ouFalse
dépendent du résultat de ces fonctions, mais le résultat booléen de pratiquement tous les autres objets le seraTrue
(à l'exception de l'None
objet, des séquences vides et des zéros numériques).la source
True
... etFalse
évidemment.Sinon, donne la valeur
None
False, tout comme l'entier0
et le flottant0.0
(même si je n'utiliserais pas de flottants comme ça). En outre, des listes vides[]
, des tuplets()
vides et des chaînes vides''
ou""
évalués à False.Essayez-le vous-même avec la fonction
bool()
:etc..
la source
Les types booléens sont définis dans la documentation:
http://docs.python.org/library/stdtypes.html#boolean-values
Cité du doc:
Donc, dans le code java, supprimez les accolades, changez
true
enTrue
et tout ira bien :)la source
Oui, il existe un
bool
type de données (qui hérite deint
et n'a que deux valeurs:True
etFalse
).Mais aussi Python a le
boolean-able
concept pour chaque objet, qui est utilisé lorsque la fonctionbool([x])
est appelée.En savoir plus: objet. valeur non nulle et valeur booléenne des objets en python .
la source
Contrairement à Java où vous déclareriez
boolean flag = True
, en Python vous pouvez simplement déclarermyFlag = True
Python interpréterait cela comme une variable booléenne
la source