Python 2.6 str.format()
, mevcut %
operatörden biraz farklı bir sözdizimiyle yöntemi tanıttı . Hangisi daha iyi ve hangi durumlar için?
Aşağıdakiler her yöntemi kullanır ve aynı sonuca sahiptir, bu yüzden fark nedir?
#!/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!"
Ayrıca Python'da dize biçimlendirmesi ne zaman gerçekleşir? Örneğin, kayıt seviyem YÜKSEK olarak ayarlanmışsa, yine de aşağıdaki
%
işlemi gerçekleştirmek için bir darbe alır mıyım? Ve eğer öyleyse, bundan kaçınmanın bir yolu var mı?log.debug("some debug info: %s" % some_info)
%
stili daha sık kullanıyorum, çünkü stilin gelişmiş yeteneklerine ihtiyacınız yoksa format()
, %
stil genellikle çok daha uygundur.
format()
biçimlendirme stili ve eski %
tabanlı biçimlendirme stili için Python 3 belgeleri .