Mitä ovat Pythonin f-merkkijonot?
Pythonin f-merkkijonojen avulla voit lisätä monimutkaisia lausekkeita ja muuttujia suoraan merkkijonoon ilman, että sinun tarvitsee suorittaa ylimääräisiä muunnoksia tai muotoiluja.
Mitä Pythonin f-merkkijonot voivat tehdä?
Python f-merkkijonot ovat Python-merkkijonoformaatti, joka otettiin käyttöön Python 3.6:ssa. Niitä kutsutaan myös muotoilluiksi merkkijonolitteraaleiksi. F-merkkijonossa voit arvioida laskelmia aaltosulkeiden avulla. F-merkkijonot mahdollistavat kompaktimman merkintätavan kuin muut merkkijonoformaatit, kuten str.format() ja + ketjutus. Tämä johtaa lopulta selkeämpään ja tiiviimpään koodiin.
F-merkkijonot ovat erittäin joustavia ja niiden avulla voit lisätä erilaisia tietotyyppejä, kuten kokonaislukuja, liukulukuja, luetteloita, lausekkeita ja funktioita, ilman että niitä tarvitsee muuntaa tai lisätä erityistä muotoilua. Pythonin f-merkkijonot ovat yleensä nopeampia kuin muut merkkijonojen muotoilumenetelmät Pythonissa.
Mikä on Pythonin f-merkkijonojen syntaksi?
Python-f-merkkijonon perusrakenne koostuu etuliitteestä f tai F, jota seuraa lainausmerkeissä (“ tai ’) oleva merkkijono. Merkkijonossa voit käyttää aaltosulkeita {} muuttujien ja lausekkeiden upottamiseen.
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.pythonTässä esimerkissä laitamme muuttujat name ja age aaltosulkeisiin f-merkkijonossa{name} ja {age}.
Miten Pythonin f-merkkijonoja käytetään?
F-merkkijonoja voidaan käyttää monin eri tavoin.
Laskelmien suorittaminen merkkijonossa
Pythonin f-merkkijonot ovat erityisen käytännöllisiä, jos haluat tehdä aritmeettisia laskutoimituksia merkkijonon sisällä. Niiden avulla voit määritellä monimutkaisen lausekkeen yhdellä koodirivillä.
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 15pythonTässä esimerkissä num1 ja num2 lisätään f-merkkijonoon. Tulos näkyy lopullisessa merkkijonotuloksessa.
Pythonin f-merkkijonot ja raakamerkkijonot
Yhdistämällä r raakamerkkijonoille ja f f-merkkijonoille luodaan Pythonissa erityinen merkkijono, joka tunnetaan nimellä rf-merkkijono. Rf-merkkijonoilla voit yhdistää raakamerkkijonojen toiminnallisuuden ja f-merkkijonojen joustavuuden. R-merkkijonot tulkitsevat pakosekvenssit kirjaimellisesti, ja f-merkkijonot voivat upottaa muuttujia ja lausekkeita suoraan merkkijonoon.
name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txtpythonYllä olevassa koodissa käytimme rf-merkkijonoa polun määrittelemiseen. Käytimme rf-merkkijonossa {name} muuttujan name suoraan lisäämiseksi. Merkkijonon edessä oleva luku r varmistaa, että kauttaviiva \ käsitellään kirjaimellisena merkkinä eikä osana pako-sekvenssiä.
Kelluvien lukujen tarkkuus
Voit käyttää erityisiä muotoilulausekkeita määrittämään desimaalien lukumäärän f-merkkijonossa olevassa liukuluvussa.
value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142pythonYllä olevassa koodissa muotoilulauseke :.3f osoittaa, että muuttuja value tulee pyöristää kolmeen desimaaliin ja lisätä muotoiltuun merkkijonoon.
Leveys ja kohdistus
Pythonin f-merkkijonoissa leveys- ja kohdistusmäärittelyjen avulla voit hallita arvojen näyttötapaa kentässä. Tämä on hyödyllistä, kun haluat sijoittaa tekstiä ja numeroita tiettyyn kohtaan ja kohdistaa ne vasemmalle, oikealle tai keskelle.
Oletetaan, että meillä on nimi __Alice__ ja haluamme kohdistaa sen oikealle 10 merkin levyisessä kentässä.
name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello, AlicepythonKoska arvo on alle 10 merkkiä pitkä, {name:>10} kohdistaa sen oikealle.
Täyttäminen nollilla tai muilla merkeillä
Nollien tai muiden merkkien lisääminen vaikuttaa kentän numeroiden kohdistukseen. Tämä on hyödyllistä, jos haluat numeroiden olevan kiinteässä muodossa, esimerkiksi kun näytät aikoja tai numeerisia arvoja.
number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042pythonTässä esimerkissä :06 tarkoittaa, että numero number syötetään kuusimerkkiseen kenttään ja puuttuvat merkit täytetään nollilla.
Voit käyttää myös muita merkkejä kuin nollia merkkijonon täyttämiseen:
word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____python