Print() in Python. Syntaxis, fouten, end- en sep-argumenten

Print() – waarschijnlijk het allereerste commando dat een beginner tegenkomt wanneer hij Python helemaal opnieuw leert. Bijna iedereen begint met een eenvoudige begroeting op het scherm en gaat verder met het verder bestuderen van de syntaxis, functies en methoden van de taal, zonder na te denken over extra functies. afdrukken (). Echter, in Pythop 3 geeft dit commando toegang tot de basisfunctie voor gegevensuitvoer met zijn inherente parameters en mogelijkheden. Als u deze functies kent, kunt u de uitvoer van gegevens voor elk specifiek geval optimaliseren.

Functie Voordelen print() in Python 3

In de derde versie van Python print() opgenomen in de basisset van functies. Bij het uitvoeren van een controle type dan: (print) informatie wordt weergegeven: klasse 'ingebouwde_functie_or_methode'. Woord ingebouwde geeft aan dat de functie die wordt getest inline is.

Laat maarhop 3 uitgangsobjecten (objects) worden tussen haakjes geplaatst na het woord print. Op het voorbeeld van de uitvoer van een traditionele begroeting zou het er als volgt uitzien:

Voor Python 3: print('Hallo wereld!').

In Python 2 wordt de instructie toegepast zonder haakjes: print 'Hallo, Wereld! '

Het resultaat in beide versies zal hetzelfde zijn: Hallo, Wereld!

Als in de tweede versie van Python de waarden na print zet tussen haakjes, dan wordt een tuple weergegeven - een gegevenstype dat een onveranderlijke lijst is:

print(1, 'eerste', 2, 'tweede')

(1, 'eerste', 2, 'tweede')

Wanneer u de haakjes probeert te verwijderen nadat print in de derde versie van Python geeft het programma een syntaxisfout.

print("Hallo wereld!")
Bestand "", regel 1 print "Hallo, wereld!" ^ SyntaxError: Ontbrekende haakjes in de oproep voor 'afdrukken'. Bedoelde je print("Hallo, Wereld!")?

 Eigenaardigheden van de print()-syntaxis in Python 3

Functiesyntaxis: afdrukken () omvat het werkelijke object of de objecten (objecten), die ook waarden kunnen worden genoemd (waarden) of elementen (artikelen), en een paar opties. Hoe objecten worden weergegeven, wordt bepaald door vier benoemde argumenten: het elementscheidingsteken (September), een string die wordt afgedrukt na alle objecten (einde), het bestand waarin de gegevens worden uitgevoerd (filet), en een parameter die verantwoordelijk is voor uitvoerbuffering (doorspoelen).

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

Een functie-aanroep is mogelijk zonder parameterwaarden op te geven en zelfs zonder objecten: afdrukken (). In dit geval worden de standaardparameters gebruikt en als er geen elementen zijn, wordt een niet-weergegeven leeg tekenreeksteken weergegeven - in feite de waarde van de parameter einde - 'n'. Zo'n oproep kan bijvoorbeeld worden gebruikt voor verticale inkeping tussen pinnen.

Alle niet-trefwoordargumenten (objecten) worden naar de datastroom geschreven, geconverteerd naar strings gescheiden door September en voltooid einde. Parameterargumenten September и einde ook een tekenreekstype hebben, zijn ze mogelijk niet gespecificeerd bij gebruik van de standaardwaarden.

Parameter September

Waarden van alle parameters print worden beschreven als trefwoordargumenten September, einde, filet, doorspoelen. Als de parameter September niet is opgegeven, wordt de standaardwaarde toegepast: September= ”, en uitvoerobjecten worden gescheiden door spaties. Voorbeeld:

print(1, 2, 3)

1 2 3

als argument September u kunt een andere waarde opgeven, bijvoorbeeld:

  • scheidingsteken ontbreekt september=»;
  • nieuwe lijnuitgang september ='niet';
  • of een regel:

print(1, 2, 3, sep='scheidingswoord')

1 woordscheidingsteken 2 woordscheidingsteken 3

Parameter einde

Standaard einde='n', en de uitvoer van objecten eindigt met een nieuwe regel. De standaardwaarde vervangen door een ander argument, bijvoorbeeld einde= ", verandert het formaat van de uitvoergegevens:

print('one_', end=»)

print('two_', end=»)

print('drie')

een twee drie

Parameter filet

Functioneel afdrukken () ondersteunt uitvoeromleiding via parameter filet, die standaard verwijst naar sys.stdout – standaard uitvoer. De waarde kan worden gewijzigd in sys.stdin or sys.stderr. bestandsobject stdin toegepast op de ingang, en stderr om tolkhints en foutmeldingen te verzenden. De parameter gebruiken: filet u kunt de uitvoer instellen op een bestand. Dit kunnen .csv- of .txt-bestanden zijn. Mogelijke manier om een ​​string naar een bestand te schrijven:

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

def-test(objecten):

voor element in objecten:

print(element, bestand=bestanditem)

bestandsitem.close()

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

Aan de uitgang worden de elementen van de lijst geschreven naar bestand printen.txt een per regel.

Parameter doorspoelen

Deze parameter heeft te maken met datastroombuffering en aangezien het een boolean is, kan deze twee waarden aannemen − Waar и Niet waar. Standaard is de optie uitgeschakeld: doorspoelen=Niet waar. Dit betekent dat het opslaan van gegevens uit de interne buffer naar een bestand alleen zal plaatsvinden nadat het bestand is gesloten of na een directe aanroep naar doorspoelen (). Opslaan na elk gesprek afdrukken () de parameter moet een waarde krijgen Waar:

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

afdrukken("Recordlijnenвfilet«, bestand=file_flush, flush=True)

afdrukken("Recordtweedelijnenвfilet«, bestand=file_flush, flush=True)

file_flush.close()

Een ander voorbeeld van het gebruik van de parameter doorspoelen met behulp van de tijdmodule:

Print() in Python. Syntaxis, fouten, end- en sep-argumenten

In dit geval is het argument Waar parameter doorspoelen zal toestaan ​​dat de nummers één voor één in drie seconden worden weergegeven, terwijl standaard alle nummers na 15 seconden op het scherm worden weergegeven. Om het effect van de parameter visueel te zien doorspoelen, is het beter om het script in de console uit te voeren. Het feit is dat bij het gebruik van sommige webshells, met name Jupyter Notebook, het programma anders wordt geïmplementeerd (zonder rekening te houden met de parameter doorspoelen).

Variabele waarden afdrukken met print()

Bij het weergeven van een string die de waarde bevat die aan een variabele is toegewezen, volstaat het om de gewenste identifier (variabelenaam) op te geven, gescheiden door een komma. Het type van de variabele moet niet worden gespecificeerd, omdat print converteert gegevens van elk type naar strings. Hier is een voorbeeld:

a = 0

b = 'Python helemaal opnieuw'

afdrukken(a,'– aantal, а',b,'- lijn.')

0 is een getal en Python from scratch is een string.

Een ander hulpmiddel om variabele waarden door te geven aan de uitvoer is de methode formaat. Print tegelijkertijd fungeert het als een sjabloon waarin in plaats van variabelenamen tussen accolades, indexen van positionele argumenten worden aangegeven:

a = 0

b = 'Python helemaal opnieuw'

print('{0} is een getal en {1} is een tekenreeks.'.formaat(a,b))

0 is een getal en Python from scratch is een string.

In plaats van formaat het %-symbool kan worden gebruikt, dat werkt volgens hetzelfde principe van tijdelijke aanduidingen (in het vorige voorbeeld fungeerden accolades als tijdelijke aanduidingen). In dit geval worden de indexnummers vervangen door het gegevenstype dat wordt geretourneerd door de functie:

  • tijdelijke aanduiding %d wordt gebruikt voor numerieke gegevens;
  • de tijdelijke aanduiding %s is voor strings.

a = 0

b = 'Python helemaal opnieuw'

print('%d is een getal en %s - snaar.'%(a,b))

0 is een getal en Python from scratch is een string.

Als in plaats van een tijdelijke aanduiding voor gehele getallen %d specificeren %sfunctie print zal het getal naar een string converteren en de code zal correct werken. Maar bij het vervangen %s on %d er wordt een foutmelding weergegeven omdat de omgekeerde conversie niet wordt uitgevoerd.

Print() in Python. Syntaxis, fouten, end- en sep-argumenten

Conclusie

De functie gebruiken print verschillende opties voor gegevensuitvoer kunnen worden geïmplementeerd. Naast de methoden die in dit artikel worden beschreven, zijn er nog andere manieren om deze tool te gebruiken die beschikbaar komen naarmate je dieper in de wereld van Python-programmering duikt.

Laat een reactie achter