Of het nu gaat om een ​​databasequery of resultaten van wiskundige bewerkingen, de Python-tekenreeksindelingsmethode biedt een meer dynamische en aantrekkelijke manier om resultaten aan een gebruiker te presenteren.

Laten we eens kijken hoe de str.format() functie werkt in Python. U zult ook ontdekken hoe u dit formaat in uw eigen programma's kunt gebruiken.

Hoe werkt het Python String-formaat()?

de python str.format() functie laat je je resultaten overal in een string invoegen.

Het werkt door ruimte toe te wijzen voor uw resultaten binnen de tekenreeks met behulp van accolades. Het schrijft vervolgens uw uitvoer naar die positie met behulp van de formaat() methode.

De strings buiten de accolade zijn wat je letterlijke teksten noemt.

Hoe Python String format() Methode te gebruiken

De str.format() functie accepteert een waarde en een optionele specificatie van de tekenreeksindeling.

Zo ziet de algemene syntaxis eruit:

str.format (waarde, format_spec)

Laten we nu eens kijken naar meer praktische voorbeelden van het gebruik van deze Python-stringmethode.

1. Een waarde invoegen op een specifieke positie

Hier is een eenvoudig voorbeeld van hoe u een waarde in een tekenreeks kunt invoegen met behulp van de str.format() methode:

Kosten = 45
formattedMethod = "Dit product kost slechts {} dollars"
print (formattedMethod.format (Kosten))
Output: Dit goed kost slechts 45 dollar

De bovenstaande code is hetzelfde als:

formattedMethod = "Dit product kost slechts {} dollars"
print (formattedMethod.format (45))
Output: Dit goed kost slechts 45 dollar

2. Meerdere uitgangen invoegen in een string

U kunt ook meerdere resultaten in een tekenreeks invoegen. Hier is hoe:

y = 7*8
f = 5+5
g = 0
a = "De waarde van y is {}, terwijl f {} is. Niemand kan {}".format zien (y, f, g)
afdrukken (a)
Uitvoer: De waarde van y is 56, terwijl f 10 is. Niemand kan 0. zien

3. Escape-accolades gebruiken om uitgangen in speciale accolades te plaatsen

Als u een van de resultaten in een accolade moet plaatsen, is dat eenvoudig. U hoeft slechts twee extra ontsnappingsbeugels te introduceren.

Zeg bijvoorbeeld dat je wilt ja in een speciale accolade:

a = "De waarde van y is {{{}}}, terwijl f {} is. Niemand kan {}".format zien (y, f, g)
afdrukken (a)
Uitvoer: De waarde van y is {56}, terwijl f 10 is. Niemand kan 0. zien

4. Uitvoerwaarden uit een lijst

U kunt specifieke waarden uit een lijst selecteren en deze in een tekenreeks invoegen:

mijnLijst = [10, 2, 4, 6]
print(("De eerste is {} en de derde is {}").format (myList[0], myList[2]))
Uitvoer: de eerste is 10 en de derde is 4

Om herhaling binnen de te voorkomen .formaat() haakjes, kunt u de opmaakspecificatie zo instellen dat deze in plaats daarvan naar een enkele variabele verwijst.

Hier is hoe dat te doen:

mijnLijst = [10, 2, 4, 6]
print(("De eerste is {yourList[0]} en de derde is {yourList[2]}").format (yourList = myList))
Uitvoer: de eerste is 10 en de derde is 4

Het bovenstaande voorbeeld is ook van toepassing op andere voorbeelden die we eerder hebben behandeld. Dus je kunt met ze spelen met deze truc.

5. Waarden uit een woordenboek invoegen

Op dezelfde manier kunt u, zoals u deed in het vorige gedeelte, de str.format() methode om een ​​woordenboekwaarde in een tekenreeks in te voegen:

myDiction = {"Tien":10, "Twee":2, "Vier":4, "Zes":6}
print(("De eerste is {} en de derde is {}").format (myDiction["Ten"], myDiction["Four"]))
Uitvoer: de eerste is 10 en de derde is 4

Verwant: Een lijst converteren naar een woordenboek in Python

En als je de truc uit de vorige sectie wilt gebruiken:

myDiction = {"Tien":10, "Twee":2, "Vier":4, "Zes":6}
print(("De eerste is {Ten} en de derde is {Four}").format(**myDiction))
Uitvoer: de eerste is 10 en de derde is 4

U kunt de bovenstaande code ook schrijven als:

print(("De eerste is {d[Ten]} en de derde is {d[Four]}").format (d=myDiction))
Uitvoer: de eerste is 10 en de derde is 4

6. De uitvoer van een functie in een string invoegen

Als je de uitvoer van een functie in een string wilt weergeven:

def difNums (a, b):
als a > b:
retourneer a - b
anders:
return return "Je kunt {} niet van {} aftrekken met deze functie".format (a, b)
print(("Hallo daar: {}").format (difNums (2, 6)))
Uitvoer: Hey daar: je kunt met deze functie geen 2 van 6 aftrekken

Specificatie van tekenreeksen voor Python gebruiken

Met de indelingsspecificatie kunt u kiezen hoe uw indeling wordt weergegeven. Zoals eerder vermeld, is het een optionele parameter die wordt geleverd met str.format().

Met deze optie kunt u uw uitvoer uitlijnen, lange reeksen inkorten, uitvoer groeperen of een geheel getal afronden op een specifiek aantal significante cijfers, en zelfs meer.

U schrijft de opmaakspecificaties vaak binnen de accolades. Maar je kunt ze ook expliciet vermelden in de .formaat() haakjes.

Laten we doorgaan en enkele van zijn use-cases bekijken.

7. String-uitgang uitlijnen

U kunt de grotere (>) teken om een ​​stringuitvoer naar rechts uit te lijnen:

print("Hallo {:>15}".format (12734589))
Uitgang: Hallo 12734589

U kunt uw tekst ook in het midden uitlijnen als u dat wilt:

print("Hallo {:^15}".format (12734589))
Uitgang: Hallo 12734589

Laten we de bovenstaande uitvoer verder formatteren. U kunt bijvoorbeeld onderstrepingstekens opnemen om de opvulling aan weerszijden van uw tekenreeksuitvoer te zien:

print("Hallo {:_^15}".format (12734589))
Uitgang: Hallo ___12734589____

Maar zoals eerder vermeld, kunt u de formaatspecificatie expliciet vermelden als een parameter binnen str.format().

Dus de vorige code ziet er in dat geval als volgt uit:

print("Hallo {:{g}}".format (12734589, g = "_^15"))
Uitgang: Hallo ___12734589____

Voel je vrij om de andere voorbeelden te herschrijven met behulp van de bovenstaande optie.

8. Uitvoer opmaken naar een specifiek aantal significante cijfers

U wilt misschien ook een bepaald aantal significante cijfers retourneren voor een berekening met behulp van de .formaat() methode.

De voorbeeldcode hieronder rondt bijvoorbeeld het resultaat van de wiskundige bewerking af op één significant decimaal getal:

calcprofitPerc = ((45 - 20)/45)*100
formattedOutput = "Onze winst hierop is {winst: .1f}%"
print (formattedOutput.format (profit = calcprofitPerc))
Output: Onze winst hierop is 55,6%

9. Lange snaren afkappen

Hoewel het inkorten van een tekst misschien onpraktisch lijkt, weet je niet waar je het nodig hebt.

Hier leest u hoe u een deel van uw string-uitvoer kunt afsnijden met behulp van de str.format() functie:

print(("Knip dit af tot de eerste 3 alfabetten: {:.3}").format("idowuomisola"))
Uitvoer: kap dit af tot de eerste 3 alfabetten: ido

10. Afzonderlijke groep nummers met behulp van een criterium

U kunt een groep getallen scheiden met een onderstrepingsteken of een komma:

print("Gescheiden door onderstrepingsteken: {:{g}}".format (12734589, g="_"))
print("Gescheiden door komma: {:{g}}".format (12734589, g=","))
Uitgang:
Gescheiden door onderstrepingsteken: 12_734_589
Gescheiden door komma: 12.734.589

Verwant:Een string splitsen in Python

Bovendien kunt u de groep getallen die u wilt behandelen specificeren met behulp van de bijbehorende sleutel:

print("Eerste cijfers met onderstrepingsteken: {0:{g}}".format (12734589, 123674, 662772, g="_"))
print("Derde cijfers door komma: {2:{g}}".format (12734589, 123674, 662772, g=","))
Uitgang:
Eerste cijfers door onderstrepingsteken: 12_734_589
Derde cijfers door komma: 662.772

Presenteer de uitvoer netjes met de methode Python String format()

Een van de manieren waarop u uw programma kunt laten opvallen, is hoe u resultaten en vragen presenteert. Ongetwijfeld biedt de Python-tekenreeksindelingsmethode een schonere manier om resultaten uit te voeren. In tegenstelling tot de vorige modulo-methode van oude Python-versies, is het nieuwe tekenreeksformaat dat in Python 3 is geïntroduceerd, leesbaarder en mensvriendelijker.

DeelTweetenE-mail
Python leren? Hier leest u hoe u snaren kunt manipuleren

Het gebruiken en manipuleren van strings in Python kan moeilijk lijken, maar het is bedrieglijk eenvoudig.

Lees volgende

Gerelateerde onderwerpen
  • Programmeren
  • Programmeren
  • Python
  • Programmeertalen
Over de auteur
Idowu Omisola (99 artikelen gepubliceerd)

Idowu is gepassioneerd door alles wat slimme technologie en productiviteit betreft. In zijn vrije tijd speelt hij met coderen en schakelt hij over naar het schaakbord als hij zich verveelt, maar hij vindt het ook heerlijk om af en toe uit de routine te stappen. Zijn passie om mensen de weg te wijzen in moderne technologie motiveert hem om meer te schrijven.

Meer van Idowu Omisola

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren