Ich habe ein Python-Skript geschrieben, das keine Utf-8 oder irgendetwas deklariert. Beim Ausführen des Skripts wird das Zeichen "u" hinzugefügt. Warum ist das so? Ich verwende die Python2.7-Version.
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"
}
Ich sehe einen merkwürdigen Charakter, den du hinzugefügt hast
Antworten:
5 für die Antwort № 1Alle JSON-Zeichenfolgen sind Unicode: "Eine Zeichenfolge ist eine Folge von null oder mehr Unicode-Zeichen". In Python 2.x enthält die Repräsentation eines Unicode-Strings am Anfang" u ", da ein Unicode-String-Literal so aussieht.
Während print () das str () eines Wörterbuchs druckt, ruft das str eines Wörterbuchs die Repräsentation der enthaltenen Elemente auf.
2 für die Antwort № 2
Es ist nur ein Indikator für einen Unicode-String in Python 2.x. Die Notation gibt einen visuellen Indikator für den String-Typ an. Beim Drucken von Containern werden Strings in Anführungszeichen gesetzt und Unicode-Strings haben das zusätzliche 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
Container verwenden standardmäßig die Notation. Sie müssen die Elemente drucken, um den Inhalt ohne Anführungszeichen oder u anzuzeigen:
>>> L = ["abc",u"def"]
>>> L
["abc", u"def"]
>>> print(L)
["abc", u"def"]
>>> for i in L: print i
...
abc
def