Print() u Pythonu. Sintaksa, greške, end i sep argumenti

Ispis() – vjerovatno prva naredba s kojom se početnik susreće kada uči Python od nule. Gotovo svi počinju jednostavnim pozdravom na ekranu i prelaze na dalje proučavanje sintakse, funkcija i metoda jezika, bez razmišljanja o dodatnim mogućnostima. print (). Međutim, u Pythna 3 ova komanda omogućava pristup osnovnoj funkciji izlaza podataka sa svojim inherentnim parametrima i mogućnostima. Poznavanje ovih karakteristika će vam omogućiti da optimizirate izlaz podataka za svaki konkretan slučaj.

Prednosti značajke štampa() u piton 3

U trećoj verziji Python štampa() uključeno u osnovni skup funkcija. Prilikom obavljanja provjere tip(štampa) prikazane su informacije: razred 'izgrađen_Funkcija_or_način'. Riječ izgrađen označava da je funkcija koja se testira inline.

Nije važnohna 3 izlazna objekta (objekts) stavljaju se u zagrade iza riječi štampa. Na primjeru izlaza tradicionalnog pozdrava, to bi izgledalo ovako:

za Python 3: print('Zdravo, svijet!').

U Python 2, izjava se primjenjuje bez zagrada: štampa 'Zdravo, svijet! '

Rezultat u obje verzije će biti isti: Zdravo, svijet!

Ako u drugoj verziji Pythona vrijednosti nakon štampa staviti u zagrade, tada će se prikazati tuple – tip podataka koji je nepromjenjiva lista:

print(1, 'prvi', 2, 'drugi')

(1, 'prvi', 2, 'drugi')

Kada pokušavate ukloniti zagrade nakon štampa u trećoj verziji Pythona, program će dati sintaksičku grešku.

print("Zdravo, svijet!")
Fajl "", red 1 print "Hello, World!" ^ Greška u sintaksi: Nedostaju zagrade u pozivu na 'print'. Da li ste mislili print("Hello, World!")?

 Posebnosti print() sintakse u Pythonu 3

Sintaksa funkcije print () uključuje stvarni objekt ili objekte (objektima), koje se mogu nazvati i vrijednostima (vrijednosti) ili elementi (stavke), i nekoliko opcija. Način na koji se objekti prikazuju određuju četiri imenovana argumenta: separator elemenata (Septembar), string ispisan nakon svih objekata (Kraj), fajl u koji se izlaze podaci (filet), i parametar odgovoran za puferovanje izlaza (flush).

print(value, ..., sep='', end='n', file=sys.stdout, flush=False)

Poziv funkcije je moguć bez navođenja vrijednosti parametara, pa čak i bez ikakvih objekata: print (). U ovom slučaju se koriste zadani parametri, a ako nema elemenata, prikazat će se neprikazan prazan niz znakova – zapravo vrijednost parametra Kraj - 'n'. Takav poziv, na primjer, može se koristiti za vertikalno uvlačenje između pinova.

Svi argumenti (objekti) koji nisu ključni riječi su upisani u tok podataka, konvertirani u nizove odvojene Septembar i završeno Kraj. Argumenti parametara Septembar и Kraj također imaju tip stringa, možda neće biti specificirani kada se koriste zadane vrijednosti.

parametar Septembar

Vrijednosti svih parametara štampa su opisani kao argumenti ključne riječi Septembar, Kraj, filet, flush. Ako je parametar Septembar nije navedena, tada se primjenjuje njegova zadana vrijednost: Septembar= ”, a izlazni objekti su razdvojeni razmacima. Primjer:

štampa(1, 2, 3)

1 2 3

Kao argument Septembar možete odrediti drugu vrijednost, na primjer:

  • nedostaje separator sep=»;
  • novi linijski izlaz sep ='ne ';
  • ili bilo koji red:

štampa(1, 2, 3, sep='razdvojna riječ')

1 razdjelnik riječi 2 razdjelnik riječi 3

parametar Kraj

Podrazumevano Kraj='n', a izlaz objekata završava novim redom. Zamjena zadane vrijednosti drugim argumentom, na primjer, Kraj= “, će promijeniti format izlaznih podataka:

print('one_', end=»)

print('dva_', kraj=»)

print('tri')

jedan dva tri

parametar filet

funkcionalan print () podržava preusmjeravanje izlaza preko parametra filet, što se podrazumevano odnosi na sys.stdout – standardni izlaz. Vrijednost se može promijeniti u sys.stdin or sys.stderr. fajl objekt stdin primijenjen na ulaz, i stderr za slanje nagoveštaja tumača i poruka o greškama. Korištenje parametra filet možete postaviti izlaz u datoteku. To mogu biti .csv ili .txt datoteke. Mogući način da upišete niz u fajl:

fileitem = open('printfile.txt','a')

def test(objekti):

za element u objektima:

print(element, file=fileitem)

fileitem.close()

test([10,9,8,7,6,5,4,3,2,1])

Na izlazu će biti upisani elementi liste printfile.TXT jedan po redu.

parametar flush

Ovaj parametar ima veze sa baferovanjem toka podataka i budući da je boolean može uzeti dvije vrijednosti − istinski и lažan. Podrazumevano, opcija je onemogućena: flush=lažan. To znači da će do pohranjivanja podataka iz internog bafera u datoteku doći tek nakon što se datoteka zatvori ili nakon direktnog poziva na isperiti (). Za spremanje nakon svakog poziva print () parametru treba dodijeliti vrijednost istinski:

file_flush = open(r'file_flush.txt', 'a')

print(«rekordlinijeвfajl«, file=file_flush, flush=True)

print(«rekorddrugilinijeвfajl«, file=file_flush, flush=True)

file_flush.close()

Još jedan primjer korištenja parametra flush koristeći vremenski modul:

Print() u Pythonu. Sintaksa, greške, end i sep argumenti

U ovom slučaju, argument istinski Parametar flush će omogućiti da se brojevi prikazuju jedan po jedan u tri sekunde, dok će se po defaultu svi brojevi prikazati na ekranu nakon 15 sekundi. Da biste vizualno vidjeli učinak parametra flush, bolje je pokrenuti skriptu u konzoli. Činjenica je da se kada se koriste neke web ljuske, posebno Jupyter Notebook, program drugačije implementira (bez uzimanja u obzir parametra flush).

Štampanje varijabilnih vrijednosti sa print()

Kada se prikazuje niz koji sadrži vrijednost dodijeljenu varijabli, dovoljno je navesti željeni identifikator (ime varijable) odvojen zarezom. Tip varijable ne treba specificirati, jer štampa pretvara podatke bilo koje vrste u nizove. Evo primjera:

a = 0

b = 'Python od nule'

print(a,'– broj, а',b,'– linija.')

0 je broj, a Python od nule je niz.

Drugi alat za prosljeđivanje varijabilnih vrijednosti na izlaz je metoda format. Ispis istovremeno djeluje kao šablon u kojem su umjesto imena varijabli u vitičastim zagradama naznačeni indeksi pozicionih argumenata:

a = 0

b = 'Python od nule'

štampa('{0} je broj, a {1} je niz.'.format(a,b))

0 je broj, a Python od nule je niz.

Umjesto format može se koristiti simbol %, koji radi na istom principu čuvara mjesta (u prethodnom primjeru, vitičaste zagrade su služile kao čuvari mjesta). U ovom slučaju, brojevi indeksa se zamjenjuju tipom podataka koji vraća funkcija:

  • čuvar mjesta %d se koristi za numeričke podatke;
  • čuvar mjesta %s je za stringove.

a = 0

b = 'Python od nule'

štampa('%d je broj i %s – string.'%(a,b))

0 je broj, a Python od nule je niz.

Ako umjesto čuvara mjesta za cijele brojeve %d odrediti %sFunkcija štampa će pretvoriti broj u string i kod će raditi ispravno. Ali prilikom zamjene %s on %d bit će prikazana poruka o grešci jer se obrnuta konverzija ne izvodi.

Print() u Pythonu. Sintaksa, greške, end i sep argumenti

zaključak

Korištenje funkcije štampa mogu se implementirati različite opcije izlaza podataka. Pored metoda opisanih u ovom članku, postoje i drugi načini korištenja ovog alata koji će vam postati dostupni kako dublje uđete u svijet Python programiranja.

Ostavite odgovor