Python %s
yerine bir dizgiyi birleştirmek için kullanmamız gerektiğini anlıyorum +
.
Herhangi birini yapabilirim:
hello = "hello"
world = "world"
print hello + " " + world
print "%s %s" % (hello, world)
print "{} {}".format(hello, world)
print ' '.join([hello, world])
Ama neden ben dışında başka bir şey kullanmalıyım +
? Birleştirmeyi basit bir şekilde yazmak daha hızlıdır +
. Biçimlendirme dize bakarsanız Sonra türleri örneğin belirtmek %s
ve %d
ve bu tür. Türü hakkında açık olmanın daha iyi olabileceğini biliyorum.
Fakat daha sonra +
, yazmak daha kolay olsa da birleştirme için kullanımdan kaçınılması gerektiğini okudum . Dizelerin diğer yollardan biriyle birleştirilmesi gerektiğinin açık bir nedeni var mı?
%s
birleştirme için değil, C'lerden türetilmiş dize formatları için bir dönüşüm özelliğidir printf(3)
. Bunu veya bir birleştirme işlecini kullanmak için durumlar vardır; Kullandığınız durum dogma değil, yargıya dayanmalıdır. Kodu yazmanın ne kadar kolay olduğu tamamen alakasızdır çünkü bunu sadece bir kez yapacaksınız.
print(f"{hello} {world}")
, değişkenler dizgede oluştukları yerlerde görüldüğü için birleştirme okunabilirliğine sahiptir ve ondan daha hızlıdır str.format
.