/ / Pourquoi un nouveau caractère "u" est-il ajouté lorsque j'exécute le script Python? [dupliquer] - python

Pourquoi un nouveau caractère 'u' est-il ajouté lorsque j'exécute le script Python? [duplicate] - python

J'ai écrit un script python qui ne "déclare pas d'utf-8 ou quoi que ce soit. Quand j'exécute le script, je vois le caractère" u "ajouté. Pourquoi? J'utilise la version Python2.7.

access_token = token.json()["access_token"]
print(" "" + access_token + """ )
url = "https://api.yelp.com/v3/businesses/search"
bearer = "Bearer " + access_token
print(bearer)
header = {"Authorization":"Bearer " + access_token}
print(header)
params = {"location": "San Bruno",
"term": "Restaurant",
"radius":"25 miles",
"locale":"en_US",
"sort_by": "rating",
"limit":"50"
}

Je vois un personnage étrange être ajouté

entrer la description de l'image ici

Réponses:

5 pour la réponse № 1

Toutes les chaînes JSON sont unicode: "Une chaîne est une séquence de zéro ou plusieurs caractères Unicode.". Dans Python 2.x, la reproduction d’une chaîne unicode inclut" u "au début, car c’est à quoi ressemble un littéral de chaîne unicode.

Pendant que print () imprime le str () d’un dictionnaire, str d’un dictionnaire appelle la repr des éléments inclus.


2 pour la réponse № 2

C’est juste un indicateur d’une chaîne Unicode dans Python 2.x. La notation fournit un indicateur visuel du type de chaîne. Lors de l’impression de conteneurs, les chaînes sont entre guillemets et les chaînes Unicode ont le caractère supplémentaire u:

>>> s = "abc"    # byte string
>>> s            # just quotes, no u
"abc"
>>> s.decode("ascii")  # Make it a Unicode string
u"abc"
>>> u = s.decode("ascii")
>>> u
u"abc"
>>> print(u)   # both print the same way
abc
>>> print(s)
abc

Les conteneurs utilisent la notation par défaut. Vous devez imprimer les éléments pour voir le contenu sans guillemets ou u:

>>> L = ["abc",u"def"]
>>> L
["abc", u"def"]
>>> print(L)
["abc", u"def"]
>>> for i in L: print i
...
abc
def