Bu bir başlangıç. Uzun dizelerinizi, bunları kullanan kodun dışında tanımlamak kötü bir uygulama değildir. Bu, verileri ve davranışı ayırmanın bir yoludur. İlk seçeneğiniz, dizgi değişmezlerini birbirine bitişik yaparak dolaylı olarak birleştirmektir:
("This is the first line of my text, "
"which will be joined to a second.")
Veya bu işe yaradığı için biraz daha kırılgan olan satır sonu devamlarıyla:
"This is the first line of my text, " \
"which will be joined to a second."
Ancak bu şunları yapmaz:
"This is the first line of my text, " \
"which will be joined to a second."
Farkı gör? Hayır? Peki kodunuz olduğunda da yapmayacaksınız.
Örtülü birleştirmenin dezavantajı, değişkenlerden alınan dizelerle değil, yalnızca dizgi değişmezleriyle çalışmasıdır, böylece yeniden düzenlediğinizde işler biraz daha kıllı olabilir. Ayrıca, birleştirilmiş dize üzerinde biçimlendirmeyi yalnızca bir bütün olarak enterpole edebilirsiniz.
Alternatif olarak, birleştirme operatörünü ( +
) kullanarak açıkça katılabilirsiniz :
("This is the first line of my text, " +
"which will be joined to a second.")
Açık, örtük olmaktan daha iyidir, python'un zen'in söylediği gibi, ancak bu bir yerine üç dize oluşturur ve iki kat daha fazla bellek kullanır: yazdığınız iki artı ikisinin bir araya geldiği bir tane vardır, böylece zen'i ne zaman görmezden geleceğini bilmek zorundayım. Bunun tersi, her satırdaki alt dizelerin herhangi birine veya parantez dışından tüm partiye biçimlendirme uygulayabilmenizdir.
Son olarak, üç tırnaklı dizeler kullanabilirsiniz:
"""This is the first line of my text
which will be joined to a second."""
Bu genellikle benim favorimdir, ancak yeni satır ve sonraki satırlardaki önde gelen boşluklar son dizenizde görüneceğinden davranışı biraz farklıdır. Yeni satırı kaçan bir ters eğik çizgi ile ortadan kaldırabilirsiniz.
"""This is the first line of my text \
which will be joined to a second."""
Bu, yukarıdaki aynı teknikle aynı soruna sahiptir, çünkü doğru kod sadece görünmez boşluktan yanlış koddan farklıdır.
Hangisinin "en iyi" olduğu özel durumunuza bağlıdır, ancak cevap sadece estetik değil, aynı zamanda ustaca farklı davranışlardan biridir.