Saya melihat saya tidak bisa melakukan:
"%b %b" % (True, False)
dalam Python. Saya kira %b
b (oolean). Apakah ada yang seperti ini?
python
boolean
string-formatting
Juanjo Conti
sumber
sumber
Jawaban:
Ini tidak spesifik untuk nilai boolean -
%r
memanggil__repr__
metode pada argumen.%s
(untukstr
) juga harus bekerja.sumber
%r
dan%s
?print(str("foo"))
hanya mencetakfoo
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.Jika Anda ingin
True False
menggunakan:karena
str(True)
ini'True'
danstr(False)
itu'False'
.atau jika Anda ingin
1 0
menggunakan:karena
int(True)
ini1
danint(False)
itu0
.sumber
Anda juga dapat menggunakan kelas string Formatter
Inilah hasilnya
Beberapa
%
specifier tipe -format (%r
,%i
) tidak tersedia. Untuk detailnya lihat Format Spesifikasi Mini-Bahasasumber
{:_^5}
akan membuat Anda'__1__'
kecuali Andastr(...)
para boolean.!s
:'{!s:_^5}'.format(True)
adalah'True_'
Untuk memperbarui ini untuk Python-3 Anda dapat melakukan ini
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.
Untuk menyiasatinya, Anda dapat menggunakan
True
string, missumber