Selles artiklis õpime teavet Pythoni stringide interpoleerimise kohta. Python toetab tekstistringide vormindamist mitmel viisil ja need hõlmavad% -formatting, sys.format (), string.Template ja f-stringe.
Stringi interpoleerimine on protsess, mis asendab muutujate väärtused stringi kohahoidjatena. Näiteks kui teil on inimesele tere ütlemise mall, näiteks "Tere (isiku nimi), tore, et kohtume!", Asendaksite inimese nime kohahoidja tegeliku nimega. Seda protsessi nimetatakse stringide interpoleerimiseks.
f-stringid
Python 3.6 lisas uue stringide interpoleerimise meetodi, mida nimetatakse sõnasõnaliseks stringide interpoleerimiseks, ja kasutusele uue sõnasõnalise eesliite f
. See stringide vormindamise uus viis on võimas ja hõlpsasti kasutatav. See pakub juurdepääsu stringikonstandide sisseehitatud Pythoni avaldistele.
Näide 1:
name = 'World' program = 'Python' print(f'Hello (name)! This is (program)')
Kui käivitame ülaltoodud programmi, on väljund
Tere, Maailm! See on Python
Ülaltoodud näites f
käsib litraalne eesliide Pythonil taastada kahe stringimuutuja nime ja sulgudes oleva programmi väärtus ()
. Nii et kui saame print
ülaltoodud väljundi.
See uus stringide interpoleerimine on võimas, kuna me võime kinnistada meelevaldseid Pythoni väljendeid, mida võime sellega isegi aritmeetiliselt sisestada.
Näide 2:
a = 12 b = 3 print(f'12 multiply 3 is (a * b).')
Kui käivitame ülaltoodud programmi, on väljund
12 korrutada 3 on 36.
Ülaltoodud programmis tegime sisearitmeetikat, mis on võimalik ainult selle meetodi abil.
% -vormindus
Pythoni stringidel on ainulaadne sisseehitatud toiming, millele pääseb juurde %
operaatoriga. Kasutades %
saame väga lihtsa stringi interpoleerimise.
Näide 3:
print("%s %s" %('Hello','World',))
Kui käivitame ülaltoodud programmi, on väljund
Tere, Maailm
Ülaltoodud näites kasutasime kahte %s
stringivormingu täpsustajat ja kahte stringi Hello
ning World
sulgudes ()
. Saime Hello World
väljundina. %s
stringivormingu täpsustaja ütleb Pythonile, kus väärtus asendada.
Stringi vormindamise süntaks muutub veidi, kui me tahame ühes stringis teha mitu asendust ja kuna %
operaator võtab ainult ühe argumendi, peame parempoolse külje mähkima, nagu on näidatud allpool toodud näites.
Näide 4:
name = 'world' program ='python' print('Hello %s! This is %s.'%(name,program))
Kui käivitame ülaltoodud programmi, on väljund
Tere, Maailm! See on python.
Ülaltoodud näites kasutasime kahte stringimuutuja nime ja programmi. Mõlema muutuja mähkisime sulgudesse ()
.
Samuti on meie vormistringis võimalik viidata muutujate asendustele nime järgi, kui edastame %
operaatorile kaardistuse :
Näide 5:
name = 'world' program ='python' print(‘Hello %(name)s! This is %(program)s.’%(name,program))
Kui käivitame ülaltoodud programmi, on väljund
Tere, Maailm! See on python.
See muudab meie vormingustringid hõlpsamini hooldatavaks ja tulevikus hõlpsasti muudetavaks. Me ei pea muretsema väärtuste järjekorra pärast, mida edastame koos vormingus stringis viidatud väärtuste järjekorraga.
Str.vorming ()
Selles stringi vorminduses kasutame format()
funktsiooni stringiobjektil ja traksidega ()
, format()
funktsioonis olev stringiobjekt asendatakse trakside asemel ()
. Saame format()
funktsiooni kasutada lihtsa positsioneerimise vormistamiseks, nagu ka %
vormindamine.
Näide 6:
name = 'world' print('Hello, ()'.format(name))
Kui käivitame ülaltoodud programmi, on väljund
Tere, Maailm
Selles näites kasutasime nimeobjekti edastamiseks traksid ()
ja format()
funktsiooni ()
. Väljundis saime breketite asemel nime väärtuse .
Me võime oma muutuja asendusi nimetada ja kasutada neid soovitud järjekorras. See on üsna võimas funktsioon, kuna see võimaldab korraldada kuvamise järjekorra ümber, muutmata vormingu funktsioonile edastatud argumente.
Näide 7:
name = 'world' program ='python' print('Hello (name)!This is(program).'.format(name=name,program=program))
Kui käivitame ülaltoodud programmi, on väljund
Tere maailm! See on python.
In this example we specified the variable substitutions place using the name of variable and pass the variable in format()
.
Template Strings
Template Strings is simpler and less powerful mechanism of string interpolation. We need to import Template
class from Python’s built-in string
module to use it.
Example 8:
from string import Template name = 'world' program ='python' new = Template('Hello $name! This is $program.') print(new.substitute(name= name,program=program))
When we run the above program, the output will be
Hello world! This is python.
In this example we import Template
class from built-in string
module and made a template which we used to pass two variable.
Key Points to Remember:
- %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
- In str.format() method we pass the string object to the format() function for string interpolation.
- Mallimeetodis teeme malli importides malliklassi sisseehitatud stringimoodulist.
- Literal String Interpolation meetod on võimas interpoleerimismeetod, mida on lihtne kasutada ja suurendada koodi loetavust.