Python har flera sätt att bygga strängar med dynamiska värden. Det moderna, rekommenderade tillvägagångssättet är f-string (formaterad stränglitteral), introducerad i Python 3.6.
f-strings — den moderna standarden
name =
age =
msg =
Prefixet f låter dig bädda in uttryck direkt i {} — koncist, läsbart och snabbt. Detta är den föredragna metoden i modern Python.
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 efter värdet kontrollerar precision, utfyllnad, justering och talformatering — kraftfullt för ren utmatning.
f"{name=}" # "name='Ann'" — prints both the expression AND value
= är praktiskt för snabb felsökning — det visar variabelnamnet och dess värde.
"{} 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() är fortfarande vanligt i äldre kod; %-formatering är äldre; råig sammanfogning avråds (utförlig och kräver manuell str()-konvertering).
Strängformatering behövs konstant — för att bygga meddelanden, loggar, utmatning, förfrågningar.
F-strings är den moderna, läsbara och effektiva standarden, och kunskap om deras formatspecificerare (precision, utfyllnad, justering, separatorer) låter dig producera ren, professionell utmatning utan utförlig kod.
Att känna igen de äldre .format()- och %-stilarna hjälper när du läser befintlig kodbase.
Att använda f-strings väl är en liten men genomgripande del av att skriva tydlig, idiomatisk Python.