[u'String']
adalah representasi teks dari daftar yang berisi string Unicode pada Python 2.
Jika Anda menjalankan print(some_list)
maka itu setara dengan
print'[%s]' % ', '.join(map(repr, some_list))
yaitu, untuk membuat representasi teks dari objek Python dengan tipe list
,repr()
fungsi dipanggil untuk setiap item.
Jangan bingung objek Python dan representasi teksnya - repr('a') != 'a'
dan bahkan representasi teks representasi teks berbeda:repr(repr('a')) != repr('a')
.
repr(obj)
mengembalikan string yang berisi representasi objek yang dapat dicetak. Tujuannya adalah untuk menjadi representasi yang jelas dari suatu objek yang dapat berguna untuk debugging, dalam REPL. Seringeval(repr(obj)) == obj
.
Untuk menghindari panggilan repr()
, Anda dapat mencetak item daftar secara langsung (jika semuanya adalah string Unicode) misalnya:print ",".join(some_list)
—itu mencetak daftar string yang dipisahkan koma:String
Jangan meng-encode string Unicode ke byte menggunakan pengkodean karakter hardcoded, cetak Unicode langsung sebagai gantinya. Jika tidak, kode mungkin gagal karena pengkodean tidak dapat mewakili semua karakter misalnya, jika Anda mencoba menggunakan 'ascii'
pengkodean dengan karakter non-ascii. Atau kode secara diam-diam menghasilkan mojibake (data yang rusak diteruskan lebih jauh dalam pipa) jika lingkungan menggunakan pengkodean yang tidak sesuai dengan pengkodean hardcoded.