Kas ir Python f-strings?
Izmantojot Python f-strings, varat ievietot sarežģītus izteiksmes un mainīgos tieši virknē, neveicot papildu konvertēšanu vai formatēšanu.
Ko var darīt Python f-strings?
Python f-strings ir Python string formāts, kas tika ieviests ar Python 3.6. Tie ir pazīstami arī kā formatēti string literāli. F-stringā var izvērtēt aprēķinus, izmantojot izliektās iekavas. F-strings ļauj izmantot kompaktu notāciju nekā citi string formāti, piemēram, str.format() un savienojums ar +. Tas galu galā nodrošina skaidrāku un lakoniskāku kodu.
F-strings ir ļoti elastīgi un ļauj ievietot dažādus datu tipus, piemēram , veselos skaitļus, peldskaitļus, sarakstus, izteiksmes un funkcijas, tos nekonvertējot vai nepievienojot īpašu formatējumu. Python f-strings parasti ir ātrāki nekā citas string formatēšanas metodes Python.
Kāda ir Python f-stringu sintakse?
Python f-string pamatstruktūra sastāv no prefiksa f vai F, kam seko teksta virkne pēdiņās (“ vai ’). Teksta virknē var izmantot izliektās iekavas {}, lai ievietotu mainīgos un izteiksmes.
name = "Peter"
age = 25
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string) # Output: My name is Peter and I am 25 years old.pythonŠajā piemērā mēs ievietojam mainīgos name un age izliektās iekavās f-stringā{name} un {age}.
Kā tiek izmantotas Python f-virknes?
F-stīgas var izmantot dažādos veidos.
Aprēķinu veikšana teksta rindā
Python f-strings ir īpaši praktiski, ja vēlaties veikt aritmētiskos aprēķinus stringā. Tie ļauj definēt sarežģītu izteiksmi vienā koda rindā.
num1 = 10
num2 = 5
result = f"The sum of {num1} and {num2} is {num1 + num2}"
print(result) # Output: The sum of 10 and 5 is 15pythonŠajā piemērā f-stringā tiek pievienoti num1 un num2. Rezultāts tiek parādīts galīgajā string izvades rezultātā.
Python f-strings un neapstrādāti stringi
Kombinācija r neapstrādātiem stīngiem un f f-stīngiem Python izveido īpaša veida stīngu, kas pazīstams kā rf-stīngs. Ar rf-stīngiem var apvienot neapstrādātu stīngu funkcionalitāti ar f-stīngu elastīgumu. R-stīngi interpretē izvairīšanās sekvences burtiski, bet f-stīngi var tieši iegult mainīgos un izteiksmes stīngā.
name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txtpythonIepriekš minētajā kodā mēs izmantojām rf-string, lai definētu ceļu. Mēs izmantojām {name} rf-string, lai tieši ievietotu mainīgo name. Tajā pašā laikā r pirms string nodrošina, ka atgriezeniskais slīpsvītru \ tiek uzskatīts par burtisku rakstzīmi, nevis par daļu no izvairīšanās secības.
Peldošo skaitļu precizitāte
Jūs varat izmantot īpašus formatēšanas izteikumus, lai norādītu decimālo zīmju skaitu peldošā skaitlī f-virknē.
value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142pythonIepriekš minētajā kodā formatēšanas izteikums :.3f norāda, ka mainīgais value jānoapaļo līdz trim zīmēm aiz komata un jāievieto formatētā virknē.
Platums un izvietojums
Python f-strings, platuma un izvietojuma specifikācijas ļauj kontrolēt, kā vērtības tiek parādītas laukā. Tas ir noderīgi, lai tekstu un skaitļus izvietotu konkrētā vietā un izvietotu tos pa kreisi, pa labi vai pa vidu.
Teiksim, ka mums ir vārds __Alice__ un mēs vēlamies to izvietot pa labi laukā, kura platums ir 10 rakstzīmes.
name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello, AlicepythonTā kā vērtība ir mazāka par 10 rakstzīmēm, {name:>10} to izlīdzinās pa labi.
Aizpildīšana ar nulēm vai citiem simboliem
Aizpildīšana ar nulēm vai citiem simboliem ietekmē skaitļu izvietojumu laukā. Tas ir noderīgi, ja vēlaties, lai skaitļi būtu fiksētā formātā, piemēram, kad parādāt laiku vai skaitliskas vērtības.
number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042pythonŠajā piemērā :06 norāda, ka skaitlis number tiks ievadīts sešu ciparu laukā un visi trūkstošie cipari tiks aizpildīti ar nulēm.
Jūs varat izmantot arī citus simbolus, ne tikai nulles, lai aizpildītu virkni:
word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____python