Print() í Python. Setningafræði, villur, enda og sep rök

Print() - líklega fyrsta skipunin sem byrjandi lendir í þegar hann lærir Python frá grunni. Næstum allir byrja með einfaldri kveðju á skjánum og halda áfram að rannsaka setningafræði, virkni og aðferðir tungumálsins, án þess að hugsa um viðbótareiginleika. prenta (). Hins vegar, í Pythá 3 veitir þessi skipun aðgang að grunngagnaúttaksaðgerðinni með sínum innbyggðum breytum og getu. Að þekkja þessa eiginleika gerir þér kleift að hámarka framleiðsla gagna fyrir hvert tiltekið tilvik.

Kostir eiginleika prenta() í Python 3

Í þriðju útgáfu Python prenta() innifalinn í grunnsetti aðgerða. Þegar athugað er tegund(prenta) upplýsingar birtast: flokkur "innbyggð_virka_or_aðferð". Orð innbyggð gefur til kynna að aðgerðin sem verið er að prófa sé innbyggð.

Skiptir enguhá 3 úttakshlutum (mótmælas) eru settar í sviga á eftir orðinu prenta. Í dæminu um úttak hefðbundinnar kveðju myndi hún líta svona út:

fyrir Python 3: print('Halló, heimur!').

Í Python 2 er yfirlýsingunni beitt án sviga: prenta "Halló, Veröld! '

Niðurstaðan í báðum útgáfum verður sú sama: Halló, Veröld!

Ef í annarri útgáfu af Python gildin eftir prenta sett í sviga, þá birtist tuple - gagnategund sem er óbreytanlegur listi:

print(1, 'fyrsti', 2, 'second')

(1, „fyrsta“, 2, „seinni“)

Þegar reynt er að fjarlægja sviga eftir prenta í þriðju útgáfunni af Python mun forritið gefa setningafræðivillu.

print("Halló, heimur!")
Skrá "", lína 1 prenta "Halló, heimur!" ^ SyntaxError: Vantar sviga í kalli til 'prenta'. Áttirðu við print("Halló, heimur!")?

 Sérkenni print() setningafræði í Python 3

Fallasetningafræði prenta () inniheldur raunverulegan hlut eða hluti (hlutir), sem einnig má kalla gildi (gildi) eða þættir (atriði), og nokkra valkosti. Hvernig hlutir eru birtir ræðst af fjórum nefndum rökum: stakaskiljunni (September), strengur prentaður á eftir öllum hlutum (enda), skráin þar sem gögnin eru send út (flök), og færibreyta sem ber ábyrgð á úttaksbufferingu (roði).

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

Aðgerðarkall er mögulegt án þess að tilgreina færibreytugildi og jafnvel án nokkurra hluta: prenta (). Í þessu tilviki eru sjálfgefnar færibreytur notaðar og ef það eru engir þættir birtist óbirtur tómur strengjastafur - í raun gildi færibreytunnar enda - "n". Slíkt kall er til dæmis hægt að nota fyrir lóðrétta inndrátt á milli pinna.

Öll rök sem ekki eru leitarorð (hlutir) eru skrifuð í gagnastrauminn, breytt í strengi aðskilin með September og lokið enda. Parameter Rök September и enda hafa einnig strengjagerð, þá er ekki víst að þau séu tilgreind þegar sjálfgefin gildi eru notuð.

Breytu September

Gildi allra stika prenta er lýst sem leitarorðum September, enda, flök, roði. Ef breytu September er ekki tilgreint, þá er sjálfgefið gildi þess notað: September= ”, og úttakshlutir eru aðskildir með bilum. Dæmi:

prenta(1, 2, 3)

+1 2 3 XNUMX

Sem rök September þú getur tilgreint annað gildi, til dæmis:

  • skilju vantar sep=»;
  • nýr línuútgangur sep ="ekki ';
  • eða hvaða línu sem er:

prenta(1, 2, 3, sep='aðskilnaðarorð')

1 orðaskil 2 orðaskil 3

Breytu enda

Sjálfgefið enda='n', og úttak hluta endar með nýrri línu. Að skipta út sjálfgefnu gildi fyrir önnur rök, til dæmis, enda= “, mun breyta sniði úttaksgagnanna:

print('one_', end=»)

print('two_', end=»)

print('þrír')

einn tveir þrír

Breytu flök

Hagnýtur prenta () styður tilvísun úttaks í gegnum breytu flök, sem sjálfgefið vísar til : sys.stdout - staðlað framleiðsla. Hægt er að breyta gildinu í sys.stdin or sys.stderr. skrá hlut stdin beitt við inntakið, og stderr til að senda túlkvísbendingar og villuboð. Með því að nota færibreytuna flök þú getur stillt úttakið á skrá. Þetta geta verið .csv eða .txt skrár. Möguleg leið til að skrifa streng í skrá:

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

def próf (hlutir):

fyrir frumefni í hlutum:

print(þáttur, skrá=skrá)

fileitem.close()

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

Við úttakið verður skrifað á þætti listans prentskrá.txt einn á línu.

Breytu roði

Þessi færibreyta hefur að gera með gagnastraumsbufferingu og þar sem hún er boolean getur hún tekið tvö gildi - True и False. Sjálfgefið er valkosturinn óvirkur: roði=False. Þetta þýðir að vistun gagna frá innri biðminni í skrá mun aðeins eiga sér stað eftir að skránni er lokað eða eftir beint símtal til skola (). Til að vista eftir hvert símtal prenta () færibreytunni þarf að úthluta gildi True:

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

prenta(«Metlínurвskrá«, file=file_flush, flush=True)

prenta(«MetAnnaðlínurвskrá«, file=file_flush, flush=True)

file_flush.close()

Annað dæmi um notkun færibreytunnar roði með tímaeiningunni:

Print() í Python. Setningafræði, villur, enda og sep rök

Í þessu tilviki, rökin True breytu roði mun leyfa að tölurnar séu birtar ein í einu á þremur sekúndum, en sjálfgefið myndu allar tölur birtast á skjánum eftir 15 sekúndur. Til að sjá sjónrænt áhrif breytunnar roði, það er betra að keyra handritið í vélinni. Staðreyndin er sú að þegar sumar vefskeljar eru notaðar, sérstaklega Jupyter Notebook, er forritið útfært öðruvísi (án þess að taka tillit til breytu roði).

Prentun breytugilda með print()

Þegar birtur er strengur sem inniheldur gildið sem breytu er úthlutað er nóg að tilgreina æskilegt auðkenni (breytuheiti) aðskilið með kommu. Gerð breytunnar ætti ekki að tilgreina, vegna þess að prenta breytir gögnum af hvaða gerð sem er í strengi. Hér er dæmi:

a = 0

b = 'Python frá grunni'

print(a,'– númer, а',b,'- lína.')

0 er tala og Python frá grunni er strengur.

Annað tæki til að koma breytilegum gildum í úttakið er aðferðin snið. Print á sama tíma virkar það sem sniðmát þar sem í stað breytuheita í krulluðum axlaböndum eru vísitölur yfir stöðuröksemdir sýndar:

a = 0

b = 'Python frá grunni'

prenta('{0} er tala og {1} er strengur.'.snið(a,b))

0 er tala og Python frá grunni er strengur.

Í staðinn fyrir snið Hægt er að nota % táknið, sem virkar á sömu reglu um staðgengla (í fyrra dæminu virkuðu krullaðir sviga sem staðgenglar). Í þessu tilviki er vísitölunum skipt út fyrir gagnategundina sem aðgerðin skilar:

  • staðgengill %d er notaður fyrir töluleg gögn;
  • staðgengillinn %s er fyrir strengi.

a = 0

b = 'Python frá grunni'

prenta('%d er tala og %s – strengur.'%(a,b))

0 er tala og Python frá grunni er strengur.

Ef í stað staðgengils fyrir heiltölur %d tilgreina %svirka prenta mun breyta tölunni í streng og kóðinn virkar rétt. En þegar skipt er um %s on %d villuboð munu birtast vegna þess að öfug umbreyting er ekki framkvæmd.

Print() í Python. Setningafræði, villur, enda og sep rök

Niðurstaða

Að nota aðgerðina prenta Hægt er að útfæra ýmsa gagnaúttaksvalkosti. Til viðbótar við aðferðirnar sem lýst er í þessari grein eru aðrar leiðir til að nota þetta tól sem verða tiltækar þegar þú kafar dýpra í heim Python forritunar.

Skildu eftir skilaboð