Print() i Python. Syntax, fel, slut- och sep-argument

Skriva ut() – förmodligen det allra första kommandot som en nybörjare stöter på när han lär sig Python från början. Nästan alla börjar med en enkel hälsning på skärmen och går vidare till ytterligare studier av språkets syntax, funktioner och metoder, utan att tänka på ytterligare funktioner. skriv ut (). Dock i Pythpå 3 ger detta kommando tillgång till den grundläggande datautgångsfunktionen med dess inneboende parametrar och möjligheter. Genom att känna till dessa funktioner kan du optimera utdata för varje specifikt fall.

Funktionsfördelar skriv ut() i Python 3

I den tredje versionen av Python skriv ut() ingår i den grundläggande uppsättningen funktioner. När du utför en kontroll Typ(skriv ut) information visas: klass 'inbyggt_fungera_or_metod'. Ord inbyggt indikerar att funktionen som testas är inline.

Bry dig om dethpå 3 utgångsobjekt (objektets) placeras inom parentes efter ordet skriv ut. I exemplet med utmatningen av en traditionell hälsning skulle det se ut så här:

För Python 3: print('Hej världen!').

I Python 2 tillämpas uttalandet utan parentes: skriv ut 'Hej, Världen! ''

Resultatet i båda versionerna blir detsamma: Hej, Världen!

Om i den andra versionen av Python värdena efter skriv ut sätta inom parentes, så kommer en tupel att visas – en datatyp som är en oföränderlig lista:

print(1, 'första', 2, 'andra')

(1, 'första', 2, ' andra ')

När du försöker ta bort fästena efter skriv ut i den tredje versionen av Python kommer programmet att ge ett syntaxfel.

print("Hej världen!")
Fil "", rad 1 utskrift "Hello, World!" ^ SyntaxError: Saknas parenteser i anropet till 'print'. Menade du print("Hej, World!")?

 Egenskaper för print()-syntax i Python 3

Funktionssyntax skriv ut () inkluderar det faktiska objektet eller objekten (objekt), som också kan kallas värden (värden) eller element (artikel), och några alternativ. Hur objekt renderas bestäms av fyra namngivna argument: elementavgränsaren (September), en sträng som skrivs ut efter alla objekt (änden), filen där data matas ut (filea), och en parameter som ansvarar för utmatningsbuffring (flush).

print(värde, ..., sep='', end='n', file=sys.stdout, flush=False)

Ett funktionsanrop är möjligt utan att specificera parametervärden och även utan några objekt: skriv ut (). I det här fallet används standardparametrarna, och om det inte finns några element visas ett tomt strängtecken som inte visas - faktiskt parameterns värde änden - 'n'. Ett sådant anrop kan till exempel användas för vertikal indragning mellan stift.

Alla icke-sökordsargument (objekt) skrivs till dataströmmen, konverteras till strängar separerade med September och färdigställt änden. Parameterargument September и änden också har en strängtyp, de kanske inte anges när du använder standardvärdena.

Parameter September

Värden för alla parametrar skriv ut beskrivs som nyckelordsargument September, änden, filea, flush. Om parametern September inte anges, tillämpas dess standardvärde: September= ”, och utdataobjekt separeras med mellanslag. Exempelvis:

skriv ut(1, 2, 3)

1 2 3

Som ett argument September du kan ange ett annat värde, till exempel:

  • separator saknas sep=»;
  • ny linjeutgång sep ='inte';
  • eller vilken rad som helst:

skriv ut(1, 2, 3, sep='separatorord')

1 ordavskiljare 2 ordavskiljare 3

Parameter änden

Som standard änden='n', och utdata från objekt slutar med en ny rad. Att ersätta standardvärdet med ett annat argument, t.ex. änden= ", kommer att ändra formatet för utdata:

print('one_', end=»)

print('två_', slut=»)

print('tre')

ett två tre

Parameter filea

Funktionell skriv ut () stöder omdirigering av utdata via parameter filea, som som standard refererar till sys.stdout – standardutgång. Värdet kan ändras till sys.stdin or sys.stderr. filobjekt stdin tillämpas på ingången, och stderr att skicka tolktips och felmeddelanden. Använder parametern filea du kan ställa in utdata till en fil. Dessa kan vara .csv- eller .txt-filer. Möjligt sätt att skriva en sträng till en fil:

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

def test(objekt):

för element i objekt:

print(element, file=filetem)

fileitem.close()

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

Vid utgången kommer elementen i listan att skrivas till Skriv ut dokument.Text en per rad.

Parameter flush

Denna parameter har att göra med dataströmsbuffring och eftersom den är en boolean kan den ta två värden - Sant и Falsk. Som standard är alternativet inaktiverat: flush=Falsk. Detta innebär att lagring av data från den interna bufferten till en fil endast sker efter att filen stängts eller efter ett direktanrop till spola (). För att spara efter varje samtal skriv ut () parametern måste tilldelas ett värde Sant:

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

skriva ut("Spela inraderвfil«, file=file_flush, flush=True)

skriva ut("Spela in2:araderвfil«, file=file_flush, flush=True)

file_flush.close()

Ett annat exempel på användning av parametern flush använder tidsmodulen:

Print() i Python. Syntax, fel, slut- och sep-argument

I det här fallet, argumentet Sant parameter flush kommer att tillåta att siffrorna visas ett i taget på tre sekunder, medan alla siffror som standard skulle visas på skärmen efter 15 sekunder. För att visuellt se effekten av parametern flush, det är bättre att köra skriptet i konsolen. Faktum är att när du använder vissa webbskal, i synnerhet Jupyter Notebook, implementeras programmet annorlunda (utan att ta hänsyn till parametern flush).

Skriva ut variabelvärden med print()

När du visar en sträng som innehåller värdet som tilldelats en variabel räcker det att ange den önskade identifieraren (variabelnamnet) separerad med kommatecken. Typen av variabeln bör inte anges, eftersom skriv ut konverterar data av vilken typ som helst till strängar. Här är ett exempel:

a = 0

b = 'Python från början'

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

0 är ett tal och Python från början är en sträng.

Ett annat verktyg för att skicka variabelvärden till utgången är metoden format. Skriva ut samtidigt fungerar den som en mall där istället för variabelnamn i klammerparenteser indikeras index över positionsargument:

a = 0

b = 'Python från början'

skriv ut('{0} är ett tal och {1} är en sträng.'.format(a,b))

0 är ett tal och Python från början är en sträng.

I stället för att format symbolen % kan användas, vilket fungerar enligt samma princip om platshållare (i föregående exempel fungerade parenteser som platshållare). I det här fallet ersätts indexnumren med datatypen som returneras av funktionen:

  • platshållare %d används för numerisk data;
  • platshållaren %s är för strängar.

a = 0

b = 'Python från början'

skriv ut('%d är ett tal och %s – sträng.'%(a,b))

0 är ett tal och Python från början är en sträng.

Om istället för en platshållare för heltal %d specificera %sfungera skriv ut konverterar numret till en sträng och koden kommer att fungera korrekt. Men vid byte %s on %d ett felmeddelande kommer att visas eftersom den omvända konverteringen inte utförs.

Print() i Python. Syntax, fel, slut- och sep-argument

Slutsats

Använda funktionen skriv ut olika datautmatningsalternativ kan implementeras. Utöver de metoder som beskrivs i den här artikeln finns det andra sätt att använda det här verktyget som kommer att bli tillgängligt när du går djupare in i Python-programmeringsvärlden.

Kommentera uppropet