Bu formda bir dizim var
s='arbit'
string='%s hello world %s hello world %s' %(s,s,s)
Dizedeki tüm% s aynı değere (yani s) sahiptir. Bunu yazmanın daha iyi bir yolu var mı? (Sayfaları üç kez listelemek yerine)
%
dize operatörü "Python 3.1'de kullanımdan kaldırılacak ve bir süre sonra kaldırılacak" docs.python.org/release/3.0.1/whatsnew/… Şimdi hem sürüm uyumluluğu hem de güvenlik için en çok tavsiye edilen yolun ne olduğunu merak ediyorum.
str.format()
. Örn .: query = "SELECT * FROM {named_arg}"; query.format(**kwargs)
, burada query
biçim dizesi ve biçim dizesindeki kwargs
s'lerle eşleşen anahtarlara sahip bir sözlüktür named_arg
.
{0}
, {1}
, {2}
ve böylece tekabül ile demet endekslerine 0
, 1
ve 2
sırasıyla. Alternatif olarak, bağımsız değişkenleri adlandırmak (beğenmek {named_arg}
) ve her birini format yönteminde ayarlamak da mümkündür , örneğin:'Hi {fname} {lname}!'.format(fname='John', lname='Doe')