Print() i Python. Syntaks, fejl, slut- og sep-argumenter

Print() – formentlig den allerførste kommando, som en begynder støder på, når han lærer Python fra bunden. Næsten alle starter med en simpel hilsen på skærmen og går videre til yderligere undersøgelse af sprogets syntaks, funktioner og metoder uden at tænke på yderligere funktioner. Print (). Dog i Pythpå 3 giver denne kommando adgang til den grundlæggende dataoutputfunktion med dens iboende parametre og muligheder. At kende disse funktioner vil give dig mulighed for at optimere outputtet af data for hvert enkelt tilfælde.

Funktionsfordele trykke() i Python 3

I den tredje version af Python trykke() inkluderet i det grundlæggende sæt af funktioner. Når du udfører en kontrol typen(trykke) information vises: klasse 'indbygget_funktion_or_metode'. Ord indbygget angiver, at den funktion, der testes, er inline.

Glem dethpå 3 outputobjekter (objekts) står i parentes efter ordet trykke. På eksemplet med output af en traditionel hilsen ville det se sådan ud:

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

I Python 2 anvendes sætningen uden parentes: trykke 'Hej, Over! ''

Resultatet i begge versioner vil være det samme: Hej, Over!

Hvis i den anden version af Python værdierne efter trykke sat i parentes, så vil en tuple blive vist – en datatype, der er en uforanderlig liste:

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

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

Når du forsøger at fjerne beslagene efter trykke i den tredje version af Python vil programmet give en syntaksfejl.

print("Hej, verden!")
Fil "", linje 1 print "Hello, World!" ^ SyntaxError: Manglende parentes i kald til 'print'. Mente du print("Hello, World!")?

 Særlige kendetegn ved print()-syntaks i Python 3

Funktions syntaks Print () omfatter det eller de faktiske objekter (objekter), som også kan kaldes værdier (værdier) eller elementer (Varer), og et par muligheder. Hvordan objekter gengives bestemmes af fire navngivne argumenter: elementseparatoren (september), en streng udskrevet efter alle objekter (ende), filen hvor dataene er output (filet), og en parameter, der er ansvarlig for output buffering (flush).

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

Et funktionskald er muligt uden at angive parameterværdier og endda uden nogen objekter: Print (). I dette tilfælde bruges standardparametrene, og hvis der ikke er nogen elementer, vises et tomt strengtegn, der ikke vises - faktisk værdien af ​​parameteren ende - 'n'. Et sådant kald kan for eksempel bruges til lodret indrykning mellem stifter.

Alle ikke-søgeordsargumenter (objekter) skrives til datastrømmen, konverteres til strenge adskilt af september og afsluttet ende. Parameterargumenter september и ende også har en strengtype, er de muligvis ikke angivet, når du bruger standardværdierne.

Parameter september

Værdier af alle parametre trykke beskrives som søgeordsargumenter september, ende, filet, flush. Hvis parameteren september ikke er angivet, anvendes standardværdien: september= ”, og outputobjekter er adskilt af mellemrum. Eksempel:

trykke(1, 2, 3)

1 2 3

Som et argument september du kan angive en anden værdi, for eksempel:

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

trykke(1, 2, 3, sep='separatorord')

1 ord-separator 2 ord-separator 3

Parameter ende

Som standard ende='n', og outputtet af objekter slutter med en ny linje. Udskiftning af standardværdien med et andet argument, f.eks. ende= ", vil ændre formatet på outputdataene:

print('one_', end=»)

print('two_', end=»)

print('tre')

et to tre

Parameter filet

Funktionel Print () understøtter output omdirigering via parameter filet, som som standard refererer til sys.stdout – standard output. Værdien kan ændres til sys.stdin or sys.stderr. fil objekt stdin anvendt på input, og stderr at sende tolketip og fejlmeddelelser. Brug af parameteren filet du kan indstille output til en fil. Disse kan være .csv- eller .txt-filer. Mulig måde at skrive en streng til en fil på:

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

def test(objekter):

for element i objekter:

print(element, fil=fil)

fileitem.close()

prøve([10,9,8,7,6,5,4,3,2,1])

Ved udgangen vil listens elementer blive skrevet til printfil.txt en per linje.

Parameter flush

Denne parameter har at gøre med datastrømbuffring, og da det er en boolean, kan den tage to værdier - Sand и False. Som standard er indstillingen deaktiveret: flush=False. Det betyder, at lagring af data fra den interne buffer til en fil kun vil ske, efter at filen er lukket eller efter et direkte opkald til Flush (). For at gemme efter hvert opkald Print () parameteren skal tildeles en værdi Sand:

file_flush = åben(r'file_flush.txt', 'a')

Print("Optagelinjerвfil«, file=file_flush, flush=True)

Print("Optageandenlinjerвfil«, file=file_flush, flush=True)

file_flush.close()

Endnu et eksempel på brug af parameteren flush ved hjælp af tidsmodulet:

Print() i Python. Syntaks, fejl, slut- og sep-argumenter

I dette tilfælde argumentet Sand parameter flush vil tillade, at tallene vises et ad gangen på tre sekunder, mens alle tal som standard vil blive vist på skærmen efter 15 sekunder. For visuelt at se effekten af ​​parameteren flush, er det bedre at køre scriptet i konsollen. Faktum er, at når du bruger nogle web-shells, især Jupyter Notebook, implementeres programmet anderledes (uden at tage hensyn til parameteren flush).

Udskrivning af variable værdier med print()

Når du viser en streng, der indeholder den værdi, der er tildelt en variabel, er det nok at angive den ønskede identifikator (variabelnavn) adskilt af et komma. Variablens type skal ikke angives, fordi trykke konverterer data af enhver type til strenge. Her er et eksempel:

a = 0

b = 'Python fra bunden'

print(a,'– nummer, а',b,'- linje.')

0 er et tal og Python fra bunden er en streng.

Et andet værktøj til at overføre variable værdier til output er metoden format. Print samtidig fungerer den som en skabelon, hvori stedet for variabelnavne i krøllede klammer, er indekser af positionelle argumenter angivet:

a = 0

b = 'Python fra bunden'

trykke('{0} er et tal, og {1} er en streng.'.format(a,b))

0 er et tal og Python fra bunden er en streng.

I stedet for format %-symbolet kan bruges, som fungerer efter samme princip med pladsholdere (i det foregående eksempel fungerede krøllede parenteser som pladsholdere). I dette tilfælde erstattes indekstallene med den datatype, der returneres af funktionen:

  • pladsholder %d bruges til numeriske data;
  • pladsholderen %s er for strenge.

a = 0

b = 'Python fra bunden'

trykke('%d er et tal og %s – streng.'%(a,b))

0 er et tal og Python fra bunden er en streng.

Hvis i stedet for en pladsholder for heltal %d specificere %sfunktion trykke vil konvertere tallet til en streng, og koden vil fungere korrekt. Men ved udskiftning %s on %d en fejlmeddelelse vil blive vist, fordi den omvendte konvertering ikke udføres.

Print() i Python. Syntaks, fejl, slut- og sep-argumenter

Konklusion

Brug af funktionen trykke forskellige dataoutput muligheder kan implementeres. Ud over de metoder, der er beskrevet i denne artikel, er der andre måder at bruge dette værktøj på, som bliver tilgængeligt, når du dykker dybere ned i Python-programmeringsverdenen.

Giv en kommentar