Je suis un débutant avec python3 et j'utilise beaucoup et p> imprimé code> ou le module code> logging code> pour suivre le code sur la console. Un exemple simple ci-dessous: quelle est la différence entre:
7 Réponses :
L'instruction code> Imprimer code> prend en charge plusieurs façons d'analyser les valeurs.
print("I cooked " + number + " dishes")
International La différence est que cet exemple (no + signe): est d'impression 3 objets de chaîne distincts. dans le deuxième exemple (avec le signe +): p> Les 3 chaînes distinctes sont d'abord concactées dans 1 nouvel objet de chaîne avant d'être imprimé sur stdout. Donc, cet exemple a 4 objets total. P> p> "J'ai cuit" code>, est l'objet 1, numéro code> est l'objet 2, et "" vaisselle " code> est l'objet 3. Cela comporte donc 3 objets total. p>
L'opérateur + code> ne peut être utilisé que sur les chaînes.
L'opérateur , code> peut être utilisé sur n'importe quel type et ajoute un espace avant automatiquement.
De plus, + code> peut être utilisé non seulement dans l'impression mais pour ajouter une chaîne à une autre tandis que , code> ne peut pas. P>
(Notez que dans les deux exemples que vous avez, en fonctionnant simplement, vous montrera que les résultats sont différents, car le premier aura des mots séparés par des places doubles.) em> le Sortie: p> c'est à cause de l'argument de mots clés, sortie: p> L'opérateur sortie: p> Imprimer () Code> La fonction prendra des chaînes, chaque chaîne sera imprimée avec un '' '' code> entre eux: p> sep code>. Par défaut, sep = '' code>, qui est modifiable en ajoutant simplement: p> + code> n'ajouttera aucun séparateur, il concaténera simplement les chaînes: p> helloworld
Selon PEP3105 Imprimer est considéré comme une fonction prise * args (plusieurs arguments de position). P>
Pour répondre à votre question, le résultat est le même; Cependant, votre mise en œuvre est différente. Dans le premier cas, vous donnez imprimé plusieurs arguments à imprimer, tandis que dans le second cas, vous donnez une chaîne concaténée que vous souhaitez imprimer. P>
Lorsque vous utilisez Toutefois, en utilisant p> signifie que d'abord ces trois chaînes sont concaténées et ensuite passées comme un objet à En réalité , cela signifie que si vous faites par exemple p> Il lancera et error, car il n'est pas possible de concaténer directement la chaîne et des types d'int. p> Notez également l'exemple suivant: P> Imprimer code> Obtient 3 objets différents (3 cordes) comme des arguments, les convertit en chaîne puis des impressions. P> Imprimer P> P> #concatenating 3 strings and passing them as one argument to print
>>> print('xxx' + 'a' + 'yyy',sep=',')
xxxayyy
#passing 3 strings as 3 arguments to print
>>> print('xxx','a','yyy',sep=',')
xxx,a,yyy
permet de dire La déclaration imprimera d'abord a = "Comment allez-vous" code> et b = "adieu" code> qui sont 2 variables de chaîne. P>
Imprimer (A, B) CODE>: LI>
ol>
> Comment allez-vous au revoir code> p>
Imprimer (A + B) CODE> L'instruction concaténera ces deux variables > Comment vont YougoodBye code>
(Ici, il n'y a pas d'espacement dû non pas d'espacement blanc dans la déclaration d'impression ni les variables) P>
Il n'y a pas de différence en tant que tel au résultat final (si tous sont des chaînes); Ce dernier est un style de cordes de concessions;
Cela peut faire une différence si
numéro code> n'est pas une chaîne.Que voulez-vous dire par "quelle est la différence"?
"J'ai cuit", nombre, "plats" code> sont trois i> cordes,"J'ai cuisiné" + nombre + "plats" code> est un i> string.Imprimer CODE> Il arrive simplement d'interpréter les deux types d'arguments presque identiques.En outre, le premier cas ajoute des espaces supplémentaires entre les mots dues au paramètre
sep = '' code> de code> impression code> fonction.avec
imprimer ("soint", + numéro + "chèque") code> Vous obtiendrez une erreur sinuméro code> estint code> et avec votre premier exemple, une erreur doit être évitée.@Aditya il y a une différence
Je ne voulais pas dire qu'il n'y a pas de différence d'utilisation d'impression de cette façon, IWAS en regardant plus la sortie; De toute évidence, il y a une différence sur la manière dont la signature de la fonction (* args) est maintenant utilisée, car d'autres l'ont déjà dit, nous pouvons utiliser d'autres types ainsi, etc.