Sõne vorming: f string

Sõne sobivale formaadile viimiseks on Pythonis mitu võimalust. Lihtsamateks operatsioonideks nagu näiteks kahe sõne ühendamiseks võib kasutada + operaatorit, kuid keerulisemate operatsioonide jaoks tasub kasutada sobivat vormindamise tööriista. Esialgu toimus Pythonis (vanemas Python 2 versioonis) keerulisem vormindamine % operaatori abil, kuid nüüd on uueks vormindamise stiiliks .format() ja f string. Tasub valida üks uuematest vormindamiste stiilidest ja keskenduda sellele, kuid teada võiks kõiki, sest teiste koodi lugedes võib leida teises stiilis sõne vormindamist.

Allpool on toodud lihtne näide erinevatest vorminguviisidest. Mõni on paindlikum kui teine, kuid igale variandile leiab teatud olukorras kasutust.

name = "Tim"

print("Hello " + name)  # Simple concatenation.
print(" ".join(("Hello", name)))  # Hacky method using .join.

print("Hello %s" % name)  # Using "%" style.
print("Hello {}".format(name))  # Using ".format()" style.
print(f"Hello {name}")  # Using "f string" style.

# Output of all above: "Hello Tim".

Vorming uue f string kujul töötab see üldjoontes täpselt samamoodi nagu .format(), kus peamiseks erinevuseks on see, et muutujaid saab sisestada otse sõnesse. See väldib koodi dubleerimist ja suurendab loetavust. Selle kasutamiseks tuleks enne veenduda, et on installeeritud piisavalt värske Pythoni versioon.

Vaata alljärgnevat videot sõne vormindamise kohta:

All on toodud näide, kuidas kasutada sõnes muutuja väärtusi, kasutades selleks f string vormingut.

name = "Alice"
age = 31
print(f"Her name is {name} and she is {age} years old.")  # -> Her name is Alice and she is 31 years old.

languages = ["Python", "Java", "Javascript", "C#", "C++", "Swift"]
print(f"{languages[0]}, {languages[3]}")  # -> Python, C#

Näide, kuidas vormingut täpsustada avaldistega:

import math
width = 10
precision = 6

print(f"The value of tau is {(math.pi * 2):{width}.{precision}}")  # -> The value of tau is    6.28319

Näide nullidega täitmisest:

n = 5
print(f"{n:02}") # -> 05

a = 22
print(f"{a:05}")  # -> 00022