Python ima več načinov za gradnjo nizov z dinamičnimi vrednostmi. Sodobni, priporočeni pristop je f-niz (formatted string literal), predstavljen v Python 3.6.
f-nizi — sodobni standard
name =
age =
msg =
Predpona f vam omogoča vdelavo izrazov neposredno v {} — jedrnato, berljivo in hitro. To je prednostna metoda v sodobnem Pythonu.
f"{3.14159:.2f}" # "3.14" — 2 decimal places
f"{1000000:,}" # "1,000,000" — thousands separator
f"{0.85:.1%}" # "85.0%" — percentage
f"{42:05d}" # "00042" — pad with zeros to width 5
f"{'hi':>10}" # " hi" — right-align in width 10
f"{'hi':^10}" # " hi " — center
:spec za vrednostjo nadzira natančnost, zapolnjevanje, poravnavo in oblikovanje števil — zmogljivo za čist izhod.
f"{name=}" # "name='Ann'" — prints both the expression AND value
= je priročen za hitro razhroščevanje — prikaže ime spremenljivke in njeno vrednost.
"{} is {}".format(name, age) # str.format() — pre-f-string standard
"%s is %d" % (name, age) # %-formatting — old C-style (avoid in new code)
name + " is " + str(age) # concatenation — verbose, error-prone
.format() je še vedno pogost v starejši kodi; %-oblikovanje je zastarelo; neposredno stikanje ni priporočljivo (besedno in zahteva ročno pretvorbo str()).
Oblikovanje nizov je potrebno stalno — gradnja sporočil, dnevnikov, izhoda, poizvedb.
F-nizi so sodobni, berljivi in učinkoviti standard, in poznavanje njihovih specifikatorjev oblike (natančnost, zapolnjevanje, poravnava, ločilniki) vam omogoča proizvajanje čistega, strokoven izhoda brez besednega koda.
Razpoznavanje starejših stilov .format() in % pomaga pri branju obstoječih baz kode.
Dobra uporaba f-nizov je majhen, vendar vseprisoten del pisanja jasnega, idiomatskega Pythona.