Python Wörterbuch Schlüssel / Wert mit Präfixen – was ist das Präfix für?

Ich habe gesehen, wie ein Python-Dict in letzter Zeit so aussieht:

test1 = {u'user':u'user1', u'user_name':u'alice'} 

Das verwirrt mich ein bisschen, was ist das u vor dem Schlüssel / Wert-Paar für? Ist es eine Art Präfix? Wie ist das anders:

 test2 = {'user':'user1', 'user_name':'alice'} 

Ich habe versucht, mit test1 und test2 zu spielen; Sie scheinen überhaupt nicht anders zu sein. Kann jemand erklären, was das Präfix ist?

 >>> test1 = {u'user':u'user1', u'user_name':u'alice'} >>> test2 = {'user':'user1', 'user_name':'alice'} >>> print test1[u'user'] user1 >>> print test1['user'] user1 >>> print test2['user'] user1 >>> print test2[u'user'] 

  • Warum bekomme ich das u "xyz" Format, wenn ich eine Liste von Unicode Strings in Python ausdrucke?
  • Python-Dokthen und Unicode
  • Python list () -Funktion, die in (ich glaube) utf-8 ändere
  • Abkürzung der Zeichenfolge zu Byte Länge in Python
  • Wie kann man eine urlencodierte Unicode-String in Python aufheben?
  • UnicodeDecodeError bei der Verwendung von json.dumps ()
  • Warnung: Einige Zeichen konnten nicht decodiert werden und wurden durch ERSATZZEICHEN ersetzt
  • Finden Sie das Unicode-Skript eines Charakters heraus
  • 2 Solutions collect form web for “Python Wörterbuch Schlüssel / Wert mit Präfixen – was ist das Präfix für?”

    In Python 2 musst du Unicode-Zeichen zwingen, in Unicode zu bleiben.

    Also, u verhindert, dass der Text in ASCII übersetzt wird. (Verbleibend als Unicode)

    Zum Beispiel funktioniert das nicht in Python 2:

     'ô SO'.upper() == 'Ô SO'' 

    Sofern Sie dies nicht tun:

     u'ô SO'.upper() == 'Ô SO' 

    Sie können mehr dazu lesen: DOCS

    Einige Geschichte: PEP 3120

    u'unicode string' wird die Zeichenfolge einen Typ- Unicode machen , wobei ohne Präfix die Zeichenfolge eine ASCII-Zeichenfolge 'ASCII string' .

    Python ist die beste Programmiersprache der Welt.