Saya melihat saya tidak bisa melakukan:
"%b %b" % (True, False)
dalam Python. Saya kira %b
b (oolean). Apakah ada yang seperti ini?
Saya melihat saya tidak bisa melakukan:
"%b %b" % (True, False)
dalam Python. Saya kira %b
b (oolean). Apakah ada yang seperti ini?
Jawaban:
>>> print "%r, %r" % (True, False)
True, False
Ini tidak spesifik untuk nilai boolean - %r
memanggil __repr__
metode pada argumen. %s
(untuk str
) juga harus bekerja.
%r
dan %s
?
print(str("foo"))
hanya mencetak foo
pada baris baru. print(repr("foo"))
namun mencetak 'foo'
pada baris baru, termasuk tanda kutip, karena itulah yang Anda butuhkan untuk mengetikkan interpreter python untuk mendapatkan objek yang sesuai dengan argumen dalam python.
Anda juga dapat menggunakan kelas string Formatter
print "{0} {1}".format(True, False);
print "{0:} {1:}".format(True, False);
print "{0:d} {1:d}".format(True, False);
print "{0:f} {1:f}".format(True, False);
print "{0:e} {1:e}".format(True, False);
Inilah hasilnya
True False
True False
1 0
1.000000 0.000000
1.000000e+00 0.000000e+00
Beberapa %
specifier tipe -format ( %r
, %i
) tidak tersedia. Untuk detailnya lihat Format Spesifikasi Mini-Bahasa
{:_^5}
akan membuat Anda '__1__'
kecuali Anda str(...)
para boolean.
Untuk memperbarui ini untuk Python-3 Anda dapat melakukan ini
"{} {}".format(True, False)
Namun jika Anda ingin benar-benar memformat string (mis. Tambahkan spasi putih), Anda menjumpai Python yang melemparkan boolean ke dalam nilai C yang mendasarinya (yaitu int), mis.
>>> "{:<8} {}".format(True, False)
'1 False'
Untuk menyiasatinya, Anda dapat menggunakan True
string, mis
>>> "{:<8} {}".format(str(True), False)
'True False'