Pythonissa on useita tapoja rakentaa merkkijonoja dynaamisilla arvoilla. Moderni ja suositeltu lähestymistapa on f-string (formatted string literal), joka otettiin käyttöön Pythonissa 3.6.
f-strings — modernin oletusmenetelmä
name =
age =
msg =
Pythonissa on useita tapoja rakentaa merkkijonoja dynaamisilla arvoilla. Moderni ja suositeltu lähestymistapa on f-string (formatted string literal), joka otettiin käyttöön Pythonissa 3.6.
name =
age =
msg =
Etuliite f antaa sinulle mahdollisuuden upottaa lausekkeita suoraan {}-merkintöihin — ytimekäs, luettava ja nopea. Tämä on suositeltava menetelmä modernissa Pythonissa.
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 arvon jälkeen hallitsee tarkkuutta, pehmitystä, kohdistusta ja numeromuotoilua — tehokas puhtaan tulosteen saamiseksi.
f"{name=}" # "name='Ann'" — prints both the expression AND value
= on kätevä nopeaan virheenkorjaukseen — se näyttää muuttujan nimen ja sen arvon.
"{} 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() on yleinen vanhemmassa koodissa; %-muotoilu on vanha; raa'an ketjutus ei ole suositeltavaa (verbaalinen ja vaatii manuaalista str() muuntoa).
Merkkijonojen muotoilu tarvitaan jatkuvasti — viestien, lokien, tulosteen ja kyselyjen rakentaminen.
F-strings ovat moderni, luettava ja tehokas standardi, ja niiden muotoilullisten selittimien (tarkkuus, pehmitys, kohdistus, erottimet) tunteminen antaa sinulle mahdollisuuden tuottaa puhtaita, ammattimaisia tuloksia ilman verbaalista koodia.
Vanhojen .format() ja % tyylien tunnistaminen auttaa olemassa olevan koodin lukemisessa.
F-stringien hyvä käyttö on pieni mutta laaja osa selkeän, idiomaarisen Pythonin kirjoittamista.