Mam ciąg tego formularza
s='arbit'
string='%s hello world %s hello world %s' %(s,s,s)
Wszystkie% sw ciągu mają tę samą wartość (tj. S). Czy jest lepszy sposób na napisanie tego? (Zamiast wymieniać się trzy razy)
%operator łańcuchowy będzie „przestarzały w Pythonie 3.1 i później zostanie kiedyś usunięty” docs.python.org/release/3.0.1/whatsnew/… teraz zastanawiam się, jaki jest najbardziej zalecany sposób zarówno dla zgodności wersji, jak i bezpieczeństwa.
str.format(). Np .: query = "SELECT * FROM {named_arg}"; query.format(**kwargs), gdzie queryjest ciągiem formatu i kwargsjest słownikiem z kluczami pasującymi do named_args w ciągu formatu.
{0}, {1}, {2}i tak dalej odpowiadać indeksów krotki 0, 1i 2, odpowiednio. Alternatywnie, można również nazwać argumenty (takie jak {named_arg}) i ustawić każdy z nich w metodzie format, na przykład:'Hi {fname} {lname}!'.format(fname='John', lname='Doe')