Saya mengerti bahwa kita harus menggunakan %s
untuk menggabungkan string daripada +
di Python.
Saya dapat melakukan salah satu dari:
hello = "hello"
world = "world"
print hello + " " + world
print "%s %s" % (hello, world)
print "{} {}".format(hello, world)
print ' '.join([hello, world])
Tetapi mengapa saya harus menggunakan sesuatu selain dari itu +
? Lebih cepat menulis rangkaian dengan sederhana +
. Kemudian jika Anda melihat string pemformatan, Anda menentukan tipe eg %s
dan %d
dan itu. Saya mengerti bisa lebih baik untuk eksplisit tentang jenisnya.
Tetapi kemudian saya membaca bahwa menggunakan +
untuk penggabungan harus dihindari meskipun lebih mudah untuk mengetik. Apakah ada alasan yang jelas bahwa string harus digabungkan dengan salah satu dari cara-cara lain?
%s
bukan untuk Rangkaian, itu spesifikasi konversi untuk format string yang berasal dari C printf(3)
. Ada kasus untuk menggunakan itu atau operator gabungan; yang Anda gunakan harus didasarkan pada penilaian situasi, bukan dogma. Betapa mudahnya menulis kode sama sekali tidak relevan karena Anda hanya akan melakukannya sekali.
print(f"{hello} {world}")
, memiliki pembacaan konatenasi karena variabel terlihat di mana mereka terjadi dalam string, dan lebih cepat daripada str.format
.