logo

Python String format() Metode

Detformat()>metode er et kraftfuldt værktøj, der giver udviklere mulighed for at oprette formaterede strenge ved at indlejre variabler og værdier i pladsholdere i en skabelonstreng. Denne metode tilbyder en fleksibel og alsidig måde at konstruere tekstoutput til en bred vifte af applikationer. Python string format() funktion er blevet introduceret til at håndtere kompleks strengformatering mere effektivt. Nogle gange vil vi lave generaliserede print-udsagn i det tilfælde i stedet for at skrive print-udsagn, hver gang vi bruger begrebet formatering.

Python String Format() Syntaks

Syntaks: { }.format(værdi)



Parametre:

  • værdi: Kan være et heltal, flydende numerisk konstant, streng, tegn eller endda variable.

Returtype: Returnerer en formateret streng med værdien sendt som parameter i pladsholderpositionen.

String Format() i Python-eksempel

En simpel demonstration af Python String format() Method i Python.



Python3






name>=> 'Ram'> age>=> 22> message>=> 'My name>is> {>0>}>and> I am {>1>} years> >old. {>1>}>is> my favorite> >number.'.>format>(name, age)> print>(message)>

>

>

Produktion

My name is Ram and I am 22 years old. 22 is my favorite number.>

Brug af .Format()-metoden

Denne metode i den indbyggede strengklasse giver funktionalitet til komplekse variabelsubstitutioner og værdiformatering. Denne nye formateringsteknik betragtes som mere elegant. Den generelle syntaks for format()-metoden er string.format(var1, var2,...). Her vil vi forsøge at forstå, hvordan man formaterer en streng, der indeholder krøllede seler Python .

Python3




txt>=> 'I have {an:.2f} Rupees!'> print>(txt.>format>(an>=> 4>))>

>

>

Produktion

I have 4.00 Rupees!>

Brug af en enkelt formatter

I dette eksempel vil vi bruge strengparentesnotation program til at demonstrere str. format() metode. Formatere fungerer ved at indsætte et eller flere erstatningsfelter og pladsholdere defineret af et par krøllede seler { } ind i en streng og kalder den str.format() .

Python3




# using format option in a simple string> print>(>'{}, A computer science portal for geeks.'> >.>format>(>'techcodeview.com'>))> # using format option for a> # value stored in a variable> str> => 'This article is written in {}'> print>(>str>.>format>(>'Python'>))> # formatting a string using a numeric constant> print>(>'Hello, I am {} years old !'>.>format>(>18>))>

>

gimp gemmer som jpeg

>

Produktion

techcodeview.com, A computer science portal for geeks. This article is written in Python Hello, I am 18 years old!>

String format() med flere pladsholdere

Flere par krøllede seler kan bruges, mens du formaterer streng i Python . Lad os sige, at der er behov for en anden variabelsubstitution i sætningen, hvilket kan gøres ved at tilføje et andet par krøllede seler og overføre en anden værdi til metoden. Python vil erstatte pladsholderne med værdier i bestille.

Syntaks: { } { } .format(værdi1, værdi2)

Parametre: (værdi1, værdi2): Kan være heltal, flydende numeriske konstanter, strenge, tegn og endda variable. Den eneste forskel er, at antallet af værdier, der sendes som parametre i format()-metoden, skal være lig med antallet af pladsholdere, der er oprettet i strengen.

Fejl og undtagelser:

Indeksfejl: Opstår, når streng har en ekstra pladsholder, og vi ikke har givet nogen værdi for den i format()-metoden. Python tildeler normalt pladsholderne med standardindeks i rækkefølge som 0, 1, 2, 3…. for at få adgang til de værdier, der sendes som parametre. Så når den støder på en pladsholder, hvis indeks ikke har nogen værdi sendt inde som parameter, kaster den IndexError.

Python-program, der bruger flere pladsholdere til at demonstrere str.format()-metoden.

Python3




# Multiple placeholders in format() function> my_string>=> '{}, is a {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))> # different datatypes can be used in formatting> print>(>'Hi ! My name is {} and I am {} years old'> >.>format>(>'User'>,>19>))> # The values passed as parameters> # are replaced in order of their entry> print>(>'This is {} {} {} {}'> >.>format>(>'one'>,>'two'>,>'three'>,>'four'>))>

>

>

Produktion

techcodeview.com, is a computer science portal for geeks Hi! My name is User and I am 19 years old This is one two three four>

String format() IndexError

Python-program, der viser indeksfejl antallet af pladsholdere er fire, men der er kun bestået tre værdier.

Python3




# parameters in format function.> my_string>=> '{}, is a {} {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))>

>

>

Produktion

IndexError: tuple index out of range>

Formatering af strenge ved hjælp af Escape-sekvenser

Du kan bruge to eller flere specielt udpegede tegn i en streng til at formatere en streng eller udføre en kommando. Disse karakterer kaldes escape-sekvenser. An Escape-sekvens i Python starter med en omvendt skråstreg (). For eksempel er en escape-sekvens, hvor den almindelige betydning af bogstavet n bogstaveligt er escaped og givet en alternativ betydning – en ny linje.

Escape-sekvens Beskrivelse Eksempel
Bryder strengen i en ny linje print('Jeg har designet dette rim for at forklare i god tid Alt hvad jeg ved')
Tilføjer en vandret fane print('Tid er en værdifuld ting')
Udskriver en omvendt skråstreg print('Se den flyve forbi år pendulet svinger')
' Udskriver et enkelt citat print ('Det er lige meget, hvor meget du prøver')
Udskriver et dobbelt citat print('Det er såuvirkeligt')
en laver en lyd som en klokke print('a')

Formatere med positions- og søgeordsargumenter

Når pladsholdere { } er tomme, erstatter Python de værdier, der sendes gennem str.format() i rækkefølge. De værdier, der findes i str.format()-metoden er i det væsentlige tupel datatyper og hver enkelt værdi indeholdt i tuplen kan kaldes ved dets indeksnummer, som starter med indeksnummeret 0. Disse indekstal kan overføres til de krøllede klammer, der tjener som pladsholdere i den oprindelige streng.

Syntaks: {0} {1}.format(positionsargument, søgeordsargument)

Parametre: (positionsargument, søgeordsargument)

  • Positionelt_argument kan være heltal, flydende numeriske konstanter, strenge, tegn og endda variable.
  • Søgeordsargument er i det væsentlige en variabel, der lagrer en eller anden værdi, som overføres som parameter.

Eksempel: At demonstrere brugen af ​​formatere med positionelle nøgleargumenter.

Python3




# Positional arguments> # are placed in order> print>(>'{0} love {1}!!'>.>format>(>'techcodeview.com'>,> >'Geeks'>))> # Reverse the index numbers with the> # parameters of the placeholders> print>(>'{1} love {0}!!'>.>format>(>'techcodeview.com'>,> >'Geeks'>))> print>(>'Every {} should know the use of {} {} programming and {}'> >.>format>(>'programmer'>,>'Open'>,>'Source'>,> >'Operating Systems'>))> # Use the index numbers of the> # values to change the order that> # they appear in the string> print>(>'Every {3} should know the use of {2} {1} programming and {0}'> >.>format>(>'programmer'>,>'Open'>,>'Source'>,>'Operating Systems'>))> # Keyword arguments are called> # by their keyword name> print>(>'{gfg} is a {0} science portal for {1}'> >.>format>(>'computer'>,>'geeks'>, gfg>=>'techcodeview.com'>))>

>

>

Produktion

techcodeview.com love Geeks!!  Geeks love techcodeview.com!!  Every programmer should know the use of Open Source programming and Operating Systems  Every Operating Systems should know the use of Source Open programming and programmer  techcodeview.com is a computer science portal for geeks>

Typespecificering i Python

Flere parametre kan inkluderes i de krøllede parenteser i vores syntaks. Brug formatkodens syntaks {feltnavn: konvertering} , hvor feltnavn angiver indeksnummeret for argumentet til str.format()-metoden, og konvertering refererer til datatypens konverteringskode.

Bruger %s – strengkonvertering via str() før formatering

Python3




print>(>'%20s'> %> (>'geeksforgeeks'>, ))> print>(>'%-20s'> %> (>'Interngeeks'>, ))> print>(>'%.5s'> %> (>'Interngeeks'>, ))>

>

>

Produktion

geeksforgeeks Interngeeks  Inter>

Brug af %c - Karakter før formatering

Python3




type> => 'bug'> result>=> 'troubling'> print>('I wondered why the program was>%>s me. Then> it dawned on me it was a>%>s .'>%> >(result,>type>))>

>

>

Produktion

I wondered why the program was troubling me. Thenit dawned on me it was a bug .>

Brug af %i fortegnet decimaltal og %d fortegnet decimaltal (base-10) før formatering

Python3


java software mønstre



match>=> 12000> site>=> 'Amazon'> print>('>%>s>is> so useful. I tried to look> up mobile>and> they had a nice one that cost>%>d rupees.'>%> (site, match))>

>

>

Produktion

Amazon is so useful. I tried to lookup mobile and they had a nice one that cost 12000 rupees.>

En anden nyttig typespecifikation

  • %i usigneret decimal heltal
  • %O oktal heltal
  • f – floating-point display
  • b – binært tal
  • O – oktal tal
  • %x – hexadecimal med små bogstaver efter 9
  • %X – hexadecimal med store bogstaver efter 9
  • det er – eksponentnotation

Du kan også angive formatering af symboler . Den eneste ændring er at bruge et kolon (:) i stedet for %.

Brug f.eks. {:s} i stedet for %s og brug (:d} i stedet for %d

Syntaks: Streng {field_name:conversion} Eksempel.format(værdi)
Fejl og undtagelser:
ValueError: Der opstår fejl under typekonvertering i denne metode.

Konverter basis-10 decimale heltal til flydende numeriske konstanter

Python3




print>(>'This site is {0:f}% securely {1}!!'>.> >format>(>100>,>'encrypted'>))> # To limit the precision> print>(>'My average of this {0} was {1:.2f}%'> >.>format>(>'semester'>,>78.234876>))> # For no decimal places> print>(>'My average of this {0} was {1:.0f}%'> >.>format>(>'semester'>,>78.234876>))> # Convert an integer to its binary or> # with other different converted bases.> print>(>'The {0} of 100 is {1:b}'> >.>format>(>'binary'>,>100>))> print>(>'The {0} of 100 is {1:o}'> >.>format>(>'octal'>,>100>))>

>

>

Produktion

This site is 100.000000% securely encrypted!! My average of this semester was 78.23% My average of this semester was 78% The binary of 100 is 1100100 The octal of 100 is 144>

Type Angivelse af fejl

Demonstrer ValueError, mens du gør tvungen typekonverteringer

Python3




# When explicitly converted floating-point> # values to decimal with base-10 by 'd'> # type conversion we encounter Value-Error.> print>(>'The temperature today is {0:d} degrees outside !'> >.>format>(>35.567>))> # Instead write this to avoid value-errors> ''' print('The temperature today is {0:.0f} degrees outside !'> >.format(35.567))'''>

>

>

Produktion

ValueError: Unknown format code 'd' for object of type 'float'>

Udskiftning af polstring eller generering af mellemrum

Demonstration af mellemrum, når strenge sendes som parametre

Som standard er strenge venstrejusteret i feltet, og tal er højrejusteret. Vi kan ændre dette ved at placere en justeringskode lige efter kolon.

  <   : left-align text in the field   ^   : center text in the field>: højrejuster tekst i feltet>

Python3




# To demonstrate spacing when> # strings are passed as parameters> print>(>'{0:4}, is the computer science portal for {1:8}!'> >.>format>(>'techcodeview.com'>,>'geeks'>))> # To demonstrate spacing when numeric> # constants are passed as parameters.> print>(>'It is {0:5} degrees outside !'> >.>format>(>40>))> # To demonstrate both string and numeric> # constants passed as parameters> print>(>'{0:4} was founded in {1:16}!'> >.>format>(>'techcodeview.com'>,>2009>))> # To demonstrate aligning of spaces> print>(>'{0:^16} was founded in {1:<4}!'> >.>format>(>'techcodeview.com'>,>2009>))> print>(>'{:*^20s}'>.>format>(>'Geeks'>))>

>

>

Output:

techcodeview.com, is the computer science portal for geeks ! It is 40 degrees outside! techcodeview.com was founded in 2009!  techcodeview.com was founded in 2009 ! *******Geeks********>

Ansøgninger

Formatere bruges generelt til at organisere data. Formatere kan ses i deres bedste lys, når de bliver brugt til at organisere en masse data på en visuel måde. Hvis vi viser databaser til brugere, kan brug af formattere til at øge feltstørrelsen og ændre justeringen gøre outputtet mere læsbart.

Eksempel: For at demonstrere organiseringen af ​​store data ved hjælp af format()

Python3




# which prints out i, i ^ 2, i ^ 3,> # i ^ 4 in the given range> # Function prints out values> # in an unorganized manner> def> unorganized(a, b):> >for> i>in> range>(a, b):> >print>(i, i>*>*>2>, i>*>*>3>, i>*>*>4>)> # Function prints the organized set of values> def> organized(a, b):> >for> i>in> range>(a, b):> ># Using formatters to give 6> ># spaces to each set of values> >print>(>'{:6d} {:6d} {:6d} {:6d}'> >.>format>(i, i>*>*> 2>, i>*>*> 3>, i>*>*> 4>))> # Driver Code> n1>=> int>(>input>(>'Enter lower range :- '>))> n2>=> int>(>input>(>'Enter upper range :- '>))> print>(>'------Before Using Formatters-------'>)> # Calling function without formatters> unorganized(n1, n2)> print>()> print>(>'-------After Using Formatters---------'>)> print>()> # Calling function that contains> # formatters to organize the data> organized(n1, n2)>

>

>

Output:

Enter lower range :- 3 Enter upper range :- 10 ------Before Using Formatters------- 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561 -------After Using Formatters---------  3 9 27 81  4 16 64 256  5 25 125 625  6 36 216 1296  7 49 343 2401  8 64 512 4096  9 81 729 6561>

Brug af en ordbog til strengformatering

Brug af en ordbog til at pakke værdier ud i pladsholderne i strengen, der skal formateres. Vi bruger som udgangspunkt ** at pakke værdierne ud. Denne metode kan være nyttig til strengsubstitution, mens du forbereder en SQL-forespørgsel.

Python3




introduction>=> 'My name is {first_name} {middle_name} {last_name} AKA the {aka}.'> full_name>=> {> >'first_name'>:>'Tony'>,> >'middle_name'>:>'Howard'>,> >'last_name'>:>'Stark'>,> >'aka'>:>'Iron Man'>,> }> # Notice the use of '**' operator to unpack the values.> print>(introduction.>format>(>*>*>full_name))>

>

>

Produktion:

My name is Tony Howard Stark AKA the Iron Man.>

Python format() med liste

Givet en liste over flydende værdier, er opgaven at afkorte alle flydende værdier til 2 decimaler. Lad os se de forskellige metoder til at udføre opgaven.

Python3




# Python code to truncate float> # values to 2 decimal digits.> > # List initialization> Input> => [>100.7689454>,>17.232999>,>60.98867>,>300.83748789>]> > # Using format> Output>=> [>'{:.2f}'>.>format>(elem)>for> elem>in> Input>]> > # Print output> print>(Output)>

>

>

Produktion

['100.77', '17.23', '60.99', '300.84']>