Python 2.6 memperkenalkan str.format()
metode ini dengan sintaks yang sedikit berbeda dari %
operator yang ada . Mana yang lebih baik dan untuk situasi apa?
Berikut ini menggunakan setiap metode dan memiliki hasil yang sama, jadi apa bedanya?
#!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i am a python string!" print c # "with an arg!" print d # "with an arg!"
Selanjutnya kapan pemformatan string terjadi dalam Python? Misalnya, jika tingkat logging saya diatur ke TINGGI akankah saya masih terpukul untuk melakukan
%
operasi berikut ? Dan jika demikian, adakah cara untuk menghindari ini?log.debug("some debug info: %s" % some_info)
%
gaya lama lebih sering, karena jika Anda tidak memerlukan peningkatan kemampuan format()
gaya, %
gaya sering jauh lebih nyaman.
format()
gaya format dan lebih tua %
gaya format berbasis .