Print() i Python. Syntaks, feil, slutt- og sep-argumenter

Skrive ut() – sannsynligvis den aller første kommandoen en nybegynner møter når han lærer Python fra bunnen av. Nesten alle starter med en enkel hilsen på skjermen og går videre til videre studier av språkets syntaks, funksjoner og metoder, uten å tenke på tilleggsfunksjoner. skrive ut (). Imidlertid, i Pythpå 3 gir denne kommandoen tilgang til den grunnleggende datautdatafunksjonen med dens iboende parametere og muligheter. Å kjenne til disse funksjonene vil tillate deg å optimalisere utdataene for hvert enkelt tilfelle.

Funksjonsfordeler skrive ut() inn Python 3

I den tredje versjonen av Python skrive ut() inkludert i det grunnleggende settet med funksjoner. Når du utfører en sjekk typen(skrive ut) informasjon vises: klasse 'innebygd_funksjon_or_metode'. Ord innebygd indikerer at funksjonen som testes er innebygd.

Ikke tankenehpå 3 utdataobjekter (objekts) er plassert i parentes etter ordet skrive ut. På eksemplet med utdata av en tradisjonell hilsen, vil det se slik ut:

Til Python 3: print('Hei, verden!').

I Python 2 brukes setningen uten parentes: skrive ut 'Hallo, Verden! '

Resultatet i begge versjonene vil være det samme: Hallo, Verden!

Hvis i den andre versjonen av Python verdiene etter skrive ut satt i parentes, så vil en tuppel vises – en datatype som er en uforanderlig liste:

print(1, 'første', 2, 'andre')

(1, ' første', 2, ' andre ')

Når du prøver å fjerne brakettene etter skrive ut i den tredje versjonen av Python vil programmet gi en syntaksfeil.

print("Hei, verden!")
Fil "", linje 1 print "Hello, World!" ^ SyntaxError: Manglende parenteser i kallet til 'print'. Mente du print("Hello, World!")?

 Egenskaper ved print()-syntaks i Python 3

Funksjonssyntaks skrive ut () inkluderer selve objektet eller objektene (gjenstander), som også kan kalles verdier (verdier) eller elementer (varer), og noen få alternativer. Hvordan objekter gjengis bestemmes av fire navngitte argumenter: elementseparatoren (September), en streng skrevet ut etter alle objekter (slutt), filen der dataene sendes ut (filet), og en parameter som er ansvarlig for utgangsbuffring (flush).

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

Et funksjonskall er mulig uten å spesifisere parameterverdier og til og med uten noen objekter: skrive ut (). I dette tilfellet brukes standardparametrene, og hvis det ikke er noen elementer, vises et tomt strengtegn som ikke vises - faktisk verdien til parameteren slutt - 'n'. Et slikt kall kan for eksempel brukes til vertikal innrykk mellom pinner.

Alle ikke-søkeordargumenter (objekter) skrives til datastrømmen, konvertert til strenger atskilt med September og fullført slutt. Parameterargumenter September и slutt også har en strengtype, de er kanskje ikke spesifisert når du bruker standardverdiene.

Parameter September

Verdier for alle parametere skrive ut beskrives som søkeordargumenter September, slutt, filet, flush. Hvis parameteren September ikke er spesifisert, brukes standardverdien: September= ”, og utdataobjekter er atskilt med mellomrom. Eksempel:

skrive ut(1, 2, 3)

+1 2 3 XNUMX

Som et argument September du kan angi en annen verdi, for eksempel:

  • separator mangler sep=»;
  • ny linjeutgang sep ='ikke';
  • eller hvilken som helst linje:

skrive ut(1, 2, 3, sep='skilleord')

1 ordskiller 2 ordskiller 3

Parameter slutt

Som standard slutt='n', og utdataene til objekter ender med en ny linje. Å erstatte standardverdien med et annet argument, for eksempel, slutt= ", vil endre formatet på utdataene:

print('one_', end=»)

print('two_', end=»)

print('tre')

en to tre

Parameter filet

funksjonell skrive ut () støtter utdataomdirigering via parameter filet, som som standard refererer til sys.stdout – standard utgang. Verdien kan endres til sys.stdin or sys.stderr. filobjekt stdin brukt på inngangen, og stderr å sende tolkhint og feilmeldinger. Ved å bruke parameteren filet du kan sette utdataene til en fil. Disse kan være .csv- eller .txt-filer. Mulig måte å skrive en streng til en fil:

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

def test(objekter):

for element i objekter:

print(element, fil=fil)

fileitem.close()

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

Ved utgangen vil elementene i listen bli skrevet til utskriftsfil.txt en per linje.

Parameter flush

Denne parameteren har å gjøre med datastrømbuffring, og siden den er en boolsk kan den ha to verdier - ekte и Falsk. Som standard er alternativet deaktivert: flush=Falsk. Dette betyr at lagring av data fra den interne bufferen til en fil kun vil skje etter at filen er lukket eller etter et direkte anrop til spyle (). For å lagre etter hver samtale skrive ut () parameteren må tildeles en verdi ekte:

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

skrive ut("Recordlinjerвfil«, file=file_flush, flush=True)

skrive ut("Recordsekundlinjerвfil«, file=file_flush, flush=True)

file_flush.close()

Et annet eksempel på bruk av parameteren flush ved å bruke tidsmodulen:

Print() i Python. Syntaks, feil, slutt- og sep-argumenter

I dette tilfellet argumentet ekte parameter flush vil tillate at tallene vises ett om gangen på tre sekunder, mens alle tall som standard vises på skjermen etter 15 sekunder. For å visuelt se effekten av parameteren flush, er det bedre å kjøre skriptet i konsollen. Faktum er at når du bruker noen web-skall, spesielt Jupyter Notebook, implementeres programmet annerledes (uten å ta hensyn til parameteren flush).

Skrive ut variabelverdier med print()

Når du viser en streng som inneholder verdien som er tildelt en variabel, er det nok å spesifisere ønsket identifikator (variabelnavn) atskilt med komma. Variabeltypen skal ikke spesifiseres, fordi skrive ut konverterer data av enhver type til strenger. Her er et eksempel:

a = 0

b = 'Python fra bunnen av'

print(a,'– Antall, а',b,'– linje.')

0 er et tall og Python fra bunnen av er en streng.

Et annet verktøy for å sende variable verdier til utgangen er metoden format. Skrive ut samtidig fungerer den som en mal der i stedet for variabelnavn i krøllete klammeparenteser, er indekser av posisjonsargumenter indikert:

a = 0

b = 'Python fra bunnen av'

skrive ut('{0} er et tall og {1} er en streng.'.format(a,b))

0 er et tall og Python fra bunnen av er en streng.

Istedenfor format %-symbolet kan brukes, som fungerer på samme prinsipp for plassholdere (i forrige eksempel fungerte krøllede parenteser som plassholdere). I dette tilfellet erstattes indekstallene med datatypen som returneres av funksjonen:

  • plassholder %d brukes for numeriske data;
  • plassholderen %s er for strenger.

a = 0

b = 'Python fra bunnen av'

skrive ut('%d er et tall og %s – streng.'%(a,b))

0 er et tall og Python fra bunnen av er en streng.

Hvis i stedet for en plassholder for heltall %d spesifisere %sfunksjon skrive ut vil konvertere tallet til en streng og koden vil fungere riktig. Men ved utskifting %s on %d en feilmelding vil vises fordi omvendt konvertering ikke utføres.

Print() i Python. Syntaks, feil, slutt- og sep-argumenter

konklusjonen

Bruke funksjonen skrive ut ulike datautdataalternativer kan implementeres. I tillegg til metodene som er beskrevet i denne artikkelen, er det andre måter å bruke dette verktøyet på, som vil bli tilgjengelig etter hvert som du går dypere inn i Python-programmeringsverdenen.

Legg igjen en kommentar