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
Joondamise määramiseks f-stringi asendusvälja {}
sees saab kasutada peale koolonit :
kolme komponenti:
[CHARACTER][DIRECTION][STRING_LENGTH]
märk (character): tähemärk, mida kasutatakse tühjuse täitmiseks, näiteks
A
. Kui jätta märkimata, kasutatakse vaikimisi tühikut.joondamine (direction): kas vasakule (
<
), paremale (>
), või keskele (^
). Kui jätta märkimata, joondatakse tekst vaikimisi vasakule ja numbrilised väärtused paremale.pikkus (string length): määrab, kui palju ruumi tuleks eraldada, näiteks
10
tähemärgi pikkust. Kui jätta märkimata, ei rakendata eelnevaid kahte ja spetsiaalset vormindamist ei toimu.
Näiteid joondamisest:
string = "hello"
number = 123
f"{string:10}" # -> 'hello '
f"{number:10}" # -> ' 123'
f"{string:-^30}" # -> '------------hello-------------'
f"{string:_>30}" # -> '_________________________hello'