Python String format() Objasnite pomoću PRIMJERA
Što je Python Format niza()?
Python Format niza() je funkcija koja se koristi za zamjenu, zamjenu ili pretvaranje niza s rezerviranim mjestima s važećim vrijednostima u konačnom nizu. To je ugrađena funkcija Python klasa niza, koja vraća formatirani niz kao izlaz. Rezervirana mjesta unutar niza definirana su u vitičastim zagradama.
Na primjer, “Dobro došli u Guru99 {}”.format('vrijednost ovdje').
Sintaksa funkcije format() u Python
templatestring.format(val1, val2...)
Parametri
val1, val2 … : Vrijednosti koje treba zamijeniti u zadanom nizu predloška koji ima rezervirana mjesta u obliku vitičastih zagrada {}. Rezervirana mjesta mogu biti niz, par ključ/vrijednost, cijeli brojevi, brojevi s pomičnim zarezom, znakovi itd.
Povratna vrijednost
Vratit će konačni niz, s valjanim vrijednostima zamijenjenim umjesto rezerviranih mjesta danih u vitičastim zagradama.
Rezervisari
Rezervirana mjesta u nizu predloška predstavljena su pomoću vitičastih zagrada, npr. {}. Rezervirano mjesto može biti prazno {} ili može imati varijablu za npr. {ime} ili može imati brojčani indeks npr. {0} , {1} itd.
Kako funkcionira string format()?
The Python Format niza() metoda će skenirati izvorne nizove u potrazi za rezerviranim mjestima. Rezervirana mjesta mogu biti prazne vitičaste zagrade ({}), pozicioni argumenti, tj. niz može imati rezervirana mjesta s indeksom 0, 1 za npr. {0}, {1} itd.
Za argumente ključne riječi naziv varijable bit će prisutan unutar vitičastih zagrada za npr. {name}, {age}. U slučaju praznih vitičastih zagrada, vrijednosti iz formata bit će redom zamijenjene unutar vitičastih zagrada.
Prva vrijednost bit će zamijenjena prvom praznom vitičastom zagradom, nakon koje slijedi sljedeća. Za pozicijske argumente, indeks će početi od 0 i tako dalje. Vrijednosti će biti dostupne u formatu odvojene zarezima i 0th vrijednost će ukazivati na prvu vrijednost unutar formata i tako dalje.
Za argumente ključnih riječi, tj. kada koristite varijablu unutar rezerviranih mjesta, možete imati redoslijed vrijednosti unutar formata kakav vam je potreban.
Redoslijed ovdje nije bitan jer će vrijednosti biti zamijenjene na temelju naziva varijable prisutnog u format(). Evo nekoliko primjera kako koristiti rezervirana mjesta unutar niza kao prazna, pozicionirana i pomoću ključnih riječi ili varijabli.
Primjer: prazno rezervirano mjesto zamijenjeno vrijednošću niza
U donjem primjeru, niz ima prazne vitičaste zagrade ({}). Vrijednost dana formatu bit će zamijenjena unutar vitičastih zagrada ({}).
Vrijednost koju želimo zamijeniti je string.
Primjer:
Korištenje oblikovanja niza u Python, želimo da se vitičaste zagrade ({}) zamijene vrijednošću niza. Vrijednost se daje formatu (“Guru99”). Prilikom izvođenja, vitičaste zagrade {} zamjenjuju se s Guru99, a vi ćete dobiti konačni niz kao Dobrodošli u vodiče Guru99.
print ("Welcome to {} tutorials".format("Guru99"))
Izlaz:
Welcome to Guru99 tutorials
Primjer: prazno rezervirano mjesto zamijenjeno numeričkom vrijednošću
U donjem primjeru želimo da se numerička vrijednost zamijeni unutar izvornog niza. Vitičaste zagrade ({}) dodaju se na mjesto gdje trebate numeričku vrijednost. Kada se izvrši, prazne vitičaste zagrade ({}) zamjenjuju se numeričkom vrijednošću.
Primjer:
Također možete koristiti format() za umetanje brojeva unutar niza. Primjer će pokazati kako zamijeniti prazno rezervirano mjesto {} brojem 99 prisutnim unutar format().
print ("Welcome to Guru{} Tutorials".format("99"))
Izlaz:
Welcome to Guru99 Tutorials
Primjer: korištenje varijabli ili argumenata ključne riječi unutar rezerviranog mjesta
Također je moguće koristiti varijable unutar vitičastih zagrada, kao što je prikazano u primjeru u nastavku. Varijable su definirane unutar format(). Stoga, kada se izvrši, vrijednost dodijeljena varijabli zamjenjuje se unutar izvornog niza.
Primjer:
Možete koristiti varijable unutar vitičastih zagrada, na primjer {name} {num}. Vrijednosti za varijablu name i num dostupne su unutar formata, tj. format(name=”Guru”, num=”99″). Vrijednosti dane name i num bit će zamijenjene unutar {name} i {num}.
print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))
Izlaz:
Welcome to Guru99 Tutorials
Primjer: korištenje indeksa ili pozicijskih argumenata unutar rezerviranog mjesta
Vrijednosti se mogu zamijeniti pomoću indeksa poput 0, 1, 2 unutar rezerviranih mjesta. Vrijednost će biti odabrana redom iz format(), kao što je prikazano u primjeru u nastavku.
Primjer:
print ("Welcome to {0}{1} Tutorials".format("Guru","99"))
Izlaz:
Welcome to Guru99 Tutorials
Primjer: korištenje više rezerviranih mjesta unutar niza
U ovom primjeru koristit ćemo više praznih rezerviranih mjesta.
Primjer:
Niz koji se koristi u primjeru ima više praznih rezerviranih mjesta i svaki rezervirano mjesto odnosit će se na vrijednost unutar format(). Prva vrijednost bit će zamijenjena prvim rezerviranim mjestom i tako dalje.
print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))
Izlaz:
Guru99 is totally new kind of learning experience!
Oblikovanje unutar rezerviranih mjesta
Vidjeli ste da je moguće imati Placeholder prazan, s varijablom ili indeksom. Također je moguće da se možete prijaviti Python Oblikovanje niza unutar rezerviranog mjesta.
Ovdje je popis formata
| Format | Description | Primjer |
|---|---|---|
:d |
Dat će izlaz u decimalnom formatu kada se koristi unutar rezerviranog mjesta | print("The binary to decimal value is : {:d}".format(0b0011))
Izlaz: The binary to decimal value is : 3 |
:b |
Dat će izlaz u binarnom formatu kada se koristi unutar rezerviranog mjesta | print("The binary value is : {:b}".format(500))
Izlaz: The binary value is : 111110100 |
:e |
Dat će izlaz u znanstvenom formatu kada se koristi unutar rezerviranog mjesta, eksponent e u izlazu bit će malim slovima. | print("The scientific value is : {:e}".format(40))
Izlaz: The scientific format value is : 4.000000e+01 |
:E |
Dat će izlaz u znanstvenom formatu kada se koristi unutar rezerviranog mjesta, eksponent E u izlazu bit će velikim slovima | print("The scientific value is : {:E}".format(40))
Izlaz: The scientific value is : 4.000000E+01 |
:f |
Ovo će ispisati format broja s fiksnom točkom. Prema zadanim postavkama, dobit ćete izlaz bilo kojeg broja sa šest decimalnih mjesta. U slučaju da trebate do 2 decimalna mjesta, koristite ga kao. 2f tj. točka (.) ispred 2f | print("The value is : {:f}".format(40))
Izlaz: The value is : 40.000000 Primjer: Prikaz rezultata do 2 decimalna mjesta.
Izlaz: The value is: 40.00 |
:o |
Ovo će ispisati oktalni format | print("The value is : {:o}".format(500))
Izlaz: The value is : 764 |
:x |
Ovo će ispisati hex format malim slovima | print("The value is : {:x}".format(500))
Izlaz: The value is : 1f4 |
:X |
Ovo će ispisati heksadecimalni format velikim slovima. | print("The value is : {:X}".format(500))
Izlaz: The value is : 1F4 |
:n |
Ovo će ispisati format broja. | print("The value is : {:n}".format(500.00))
Izlaz: The value is : 500 |
:% |
Ovo će dati izlaz u obliku postotaka. Prema zadanim postavkama dat će 6 decimalnih mjesta za postotak izlaza, u slučaju da ne želite nikakvu decimalnu vrijednost možete koristiti točku s 0 tj. (:.0%). |
print("The value is : {:%}".format(0.80))
Izlaz: The value is : 80.000000% Ovaj primjer pokazuje kako preskočiti decimalna mjesta korištenjem {:.0%} unutar rezerviranog mjesta.
The value is: 80% |
:_ |
Ovo će ispisati podvlaku kao razdjelnik tisućica. Dostupan je od pythona 3.6+. | print("The value is {:_}".format(1000000))
Izlaz: The value is : 1_000_000 |
:, |
Ovo će ispisati zarez kao razdjelnik tisućica | print("The value is : {:,}".format(1000000))
Izlaz: The value is : 1,000,000 Dodaje se zarez(,) kao razdjelnik tisućica kao što je prikazano u izlazu. |
: |
Ovo će dodati razmak ispred svih pozitivnih brojeva | Ovaj primjer pokazuje kako dodati razmak ili ispunu ispred zadanog broja. Broj 5 označava broj razmaka koji želite prije broja.
Izlaz: The value is: 40 |
:- |
Ovo će dodati znak minus prije negativnih brojeva | Primjer pokazuje kako dobiti izlaz sa znakom minus (-) prije broja pomoću {:-}.
Izlaz: The value is: -40 |
:+ |
Možete koristiti znak plus da označite da je broj pozitivan | Primjer pokazuje kako dobiti izlaz sa znakom plus (+) prije broja pomoću {:+}.
Izlaz: The value is: +40 |
:= |
Jednako se koristi za postavljanje znaka +/- na lijevu stranu. | Primjer pokazuje kako dobiti izlaz sa znakom plus (+/-) prije znaka jednako pomoću {:=}.
Izlaz: The value is -40 |
:^ |
Ovo će centrirati konačni rezultat | Primjer pokazuje korištenje {:^} za centriranje teksta. Broj 10 koristi se za dodavanje 10 razmaka kako bi se prikazalo središnje poravnato kada se vrijednost zamijeni.
Izlaz: The value 40 is a positive value Ovdje možete upotrijebiti 10 koji će dodati 10 razmaka u konačnom tekstu, a vrijednost koju treba zamijeniti bit će središnje poravnata između 10 razmaka. Razmaci od 10 dodaju se samo da bi se pokazalo središnje poravnanje zamijenjene vrijednosti. |
:> |
Ovo će poravnati konačni rezultat udesno | Razmak od 10 dodaje se pomoću (:>10), a zamijenjena vrijednost je desno poravnata.
Izlaz: The value 40 is positive value |
:< |
Ovo će poravnati krajnji rezultat lijevo | Razmak od 10 dodaje se pomoću (:<10), a vrijednost koja zamjenjuje poravnata je lijevo.
Izlaz: The value 40 is positive value |
Korištenje klase s format()
U ovom primjeru stvaramo klasu i koristimo objekt klase unutar .formata Python metoda. Rezervirana mjesta odnosit će se na svojstva klase ili članove koji koriste objekt klase.
Primjer:
Klasa se poziva unutar formata (c=MyClass()). Objekt c će imati referencu na svojstva i metode unutar klase MyClass().
class MyClass:
msg1="Guru"
msg2="Tutorials"
print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))
Izlaz:
Welcome to Guru99 Tutorials!
Korištenje rječnika s format()
Također je moguće koristiti rječnik unutar format() kao što je prikazano u primjeru ispod:
my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}
print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))
Izlaz:
Welcome to Guru99 Tutorials!
Zamjene varijabli popunjavanja
Koristeći metodu string.format(), možete dodati ispunu, prostor koristeći rezervirana mjesta unutar niza.
Primjer:
U donjem primjeru će se dodati prostor unutar rezerviranog mjesta pomoću format(). Da biste dodali razmak, morate navesti broj razmaka unutar vitičastih zagrada nakon dvotočke (:). Tako će rezervirano mjesto izgledati kao {:5}.
print("I have {:5} dogs and {:5} cat".format(2,1))
Izlaz:
I have 2 dogs and 1 cat
Također možete dati indeks unutar rezerviranog mjesta, na primjer: {0:5} gdje će se 0 odnositi na prvu vrijednost unutar formata.
print("I have {0:5} dogs and {1:5} cat".format(2,1))
Izlaz:
I have 2 dogs and 1 cat
Rezime
- Python klasa string daje nam važnu ugrađenu naredbu zvanu format() koja nam pomaže da zamijenimo, zamijenimo ili pretvorimo niz s rezerviranim mjestima s važećim vrijednostima u konačnom nizu.
- Rezervirana mjesta unutar modula stringa Python definirani su u vitičastim zagradama, npr. “Dobro došli u Guru99 {}”.format('vrijednost ovdje').
- Rezervirano mjesto može biti prazno {} ili može imati varijablu za npr. {ime} ili može imati brojčani indeks npr. {0} , {1} itd.
- Možete koristiti String Formatting in Python unutar rezerviranih mjesta koja mogu pomoći u dodavanju ispuna, središnjem poravnanju, a također pomažu i kod oblikovanja brojeva.
