En Python, les deux 'string'
and "string"
are used to represent string literals. Ce n'est pas comme Java où les guillemets simples et doubles représentent différents types de données pour le compilateur.
L'interpréteur évalue chaque ligne que vous entrez et affiche cette valeur pour vous. Dans les deux cas, l'interpréteur évalue ce que vous entrez, obtient une chaîne et affiche cette valeur. La manière par défaut d'afficher les chaînes est entre guillemets simples, donc les deux fois la chaîne est affichée entre guillemets simples.
Cela semble étrange - en ce sens qu'il rompt la règle de Python de There should be one - and preferably only one - obvious way to do it - mais je pense que refuser l'une des options aurait été pire.
Vous pouvez également saisir une chaîne littérale en utilisant des triples guillemets:
>>> """characters
... and
... newlines"""
'characters\nand\nnewlines'
Vous pouvez utiliser la ligne de commande pour confirmer que ce sont la même chose:
>>> type("characters")
<type 'str'>
>>> type('characters')
<type 'str'>
>>> "characters" == 'characters'
True
L'interprète utilise le __repr__
method de un objet pour que l'affichage vous imprime. Donc, sur vos propres objets, vous pouvez déterminer comment ils sont affichés dans l'interpréteur. Nous ne pouvons pas changer la méthode pour __repr__
types intégrés, mais nous pouvons personnaliser la sortie de l'interpréteur using sys.displayhook
:
>>> import sys
>>> def customoutput(value):
... if isinstance(value,str):
... print '"%s"' % value
... else:
... sys.__displayhook__(value)
...
>>> sys.displayhook = customoutput
>>> 'string'
"string"
Toutes mes excuses. Je l'ai réglé. C'est évaluer l'expression. Merci. – Hunter
Maintenant, acceptez simplement la meilleure réponse en cliquant sur la coche à gauche de la réponse. –