Comment puis-je faire l'impression d'un objet non constitué dans Python? Aussi, pourquoi est-ce parfois je vois une virgule au lieu de + ci-dessus? P> P>
4 Réponses :
>>> x = None >>> "x: " + x Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'NoneType' objects >>> "x: " + str(x) 'x: None'
Existe-t-il un moyen de vérifier si c'est un non constitué?
Vous pouvez faire quelque chose comme Logging.info ("New_Score:" + Score ou "No Score") CODE>. Si
score code> n'est ni une chaîne vide, il connectera "NEW_SCORE: aucun score".
La meilleure approche est la suivante: dans la plupart des contextes, vous devez utiliser un opérateur oubliez % code> entre la chaîne de format à gauche et la valeur ( s) à droite (dans un tuple, si plus d'un). Mais les fonctions code> code> sont spéciales: vous passez la chaîne de format comme premier argument, puis, l'une après l'autre, autant d'arguments que nécessaire pour correspondre au nombre de
% s code > & c formatage des marqueurs dans le format et les fonctions code> code> utiliseront l'opérateur de formatage
% s code> comme il convient si et seulement si em> si nécessaire - Vous n'entrez pas de surcharge d'exécution si votre niveau de journalisation actuel est tel que, par exemple,
Logging.info code> ne sera pas réellement montré. p>
STR < / CODE> Appels et
+ code>-Based String Concaténation De toute façon - Même sans
Logging Code> S Promotions,
%% code> -Formatting est vraiment la voie à suivre (en python 2.6 ou plus tôt; en 2.6 ou la version ultérieure, vous devez également envisager une méthode des chaînes '
code>, permettant une expression plus claire et plus lisible de ce qui représente la même fonctionnalité). P> P> P> P> P> P >
Pour but imprimé, vous devez d'abord STR. Une virgule est d'imprimer avec un seul espace entre celui-ci..Pour exemple: p>
Imprimer "Salut gars", "Comment allez-vous aujourd'hui" p>
cette syntaxe produira: em> p>
salut gars comment allez-vous aujourd'hui p>
Mais ce sera différent si votre syntaxe comme celle-ci: p>
Imprimer "Salut Guys" + "Comment allez-vous aujourd'hui" p>
cette syntaxe produira: em> p>
Bonjour Guisshow es-tu aujourd'hui p>
Cela fonctionnera avec la déclaration d'impression (qui appelle implicitement str code>), mais pas dans d'autres contextes.
SI NON SCORE == Aucun: Logging.info ("NEW_SCORE:" + Score) P>
ou p>
Logging.info ("NEW_SCORE:% s"% STR (score)) p>
Il devrait y avoir une coche creuse sous la flèche vers le bas - utilisez cela. En outre, vous devriez utiliser la flèche vers le haut pour voter pour des réponses utiles.