Argraffu () yn Python. Cystrawen, gwallau, diwedd a dadleuon sep

print() - yn ôl pob tebyg y gorchymyn cyntaf un y mae dechreuwr yn dod ar ei draws wrth ddysgu Python o'r dechrau. Mae bron pawb yn dechrau gyda chyfarchiad syml ar y sgrin ac yn symud ymlaen i astudiaeth bellach o gystrawen, swyddogaethau a dulliau'r iaith, heb feddwl am nodweddion ychwanegol. argraffu (). Fodd bynnag, yn Pythar 3 mae'r gorchymyn hwn yn darparu mynediad i'r swyddogaeth allbwn data sylfaenol gyda'i baramedrau a'i alluoedd cynhenid. Bydd gwybod y nodweddion hyn yn eich galluogi i optimeiddio allbwn data ar gyfer pob achos penodol.

Buddion Nodwedd argraffu() yn Python 3

Yn y trydydd fersiwn o Python argraffu() cynnwys yn y set sylfaenol o swyddogaethau. Wrth berfformio siec math(argraffu) arddangosir gwybodaeth: dosbarth 'adeiledig_swyddogaeth_or_dull'. Gair adeiledig yn nodi bod y swyddogaeth sy'n cael ei phrofi yn unol.

Dim otshar 3 gwrthrych allbwn (gwrthrychs) yn cael eu gosod mewn cromfachau ar ôl y gair argraffu. Ar yr enghraifft o allbwn cyfarchiad traddodiadol, byddai'n edrych fel hyn:

Am Python 3: print ('Helo, Fyd!').

Yn Python 2, mae'r datganiad yn cael ei gymhwyso heb gromfachau: argraffu 'Helo, byd! ''

Bydd y canlyniad yn y ddau fersiwn yr un peth: Helo, byd!

Os yn yr ail fersiwn o Python y gwerthoedd ar ôl argraffu rhoi mewn cromfachau, yna bydd tuple yn cael ei arddangos - math o ddata sy'n rhestr na ellir ei chyfnewid:

print (1, 'cyntaf', 2, 'ail')

(1, 'cyntaf', 2, 'ail')

Wrth geisio tynnu'r cromfachau ar ôl argraffu yn y trydydd fersiwn o Python, bydd y rhaglen yn rhoi gwall cystrawen.

print ("Helo, Byd!")
Ffeil "", print llinell 1 "Helo, Fyd!" ^ Gwall Cystrawen: Cromfachau ar goll yn yr alwad i 'argraffu'. Oeddech chi'n golygu print ("Helo, Byd!")?

 Hynodrwydd cystrawen print() yn Python 3

Cystrawen swyddogaeth argraffu () yn cynnwys y gwrthrych neu wrthrychau gwirioneddol (gwrthrychau), y gellir eu galw hefyd yn werthoedd (gwerthoedd) neu elfennau (eitemau), ac ychydig o opsiynau. Mae'r modd y caiff gwrthrychau eu rendro ei bennu gan bedair dadl a enwir: yr elfen gwahanydd (Medi), llinyn wedi'i argraffu ar ôl pob gwrthrych (diwedd), y ffeil lle mae'r data yn cael ei allbwn (ffiled), a pharamedr sy'n gyfrifol am glustogi allbwn (fflysio).

print(gwerth,..., sep='', diwedd='n', ffeil=sys.stdout, fflysh=Gau)

Mae galwad swyddogaeth yn bosibl heb nodi gwerthoedd paramedr a hyd yn oed heb unrhyw wrthrychau: argraffu (). Yn yr achos hwn, defnyddir y paramedrau rhagosodedig, ac os nad oes unrhyw elfennau, bydd nod llinyn gwag heb ei arddangos yn cael ei arddangos - mewn gwirionedd, gwerth y paramedr diwedd - 'n'. Gellir defnyddio galwad o'r fath, er enghraifft, ar gyfer mewnoliad fertigol rhwng pinnau.

Ysgrifennir yr holl ddadleuon (gwrthrychau) nad ydynt yn allweddair i'r ffrwd data, wedi'u trosi i linynnau wedi'u gwahanu gan Medi a'i gwblhau diwedd. Dadleuon Paramedr Medi и diwedd mae ganddynt hefyd fath o linyn, efallai na fyddant yn cael eu nodi wrth ddefnyddio'r gwerthoedd rhagosodedig.

Paramedr Medi

Gwerthoedd yr holl baramedrau argraffu yn cael eu disgrifio fel dadleuon allweddair Medi, diwedd, ffiled, fflysio. Os yw'r paramedr Medi heb ei nodi, yna mae ei werth diofyn yn cael ei gymhwyso: Medi= ”, ac mae gwrthrychau allbwn yn cael eu gwahanu gan ofodau. enghraifft:

argraffu(1, 2, 3)

1 2 3

Fel dadl Medi gallwch nodi gwerth arall, er enghraifft:

  • gwahanydd ar goll sep=»;
  • allbwn llinell newydd sep ='nid ';
  • neu unrhyw linell:

argraffu(1, 2, 3, sep = 'gair gwahanydd')

1 gwahanydd geiriau 2 gwahanydd geiriau 3

Paramedr diwedd

Yn ddiofyn diwedd='n', ac mae allbwn gwrthrychau yn gorffen gyda llinell newydd. Amnewid y gwerth rhagosodedig gyda dadl arall, er enghraifft, diwedd= ", yn newid fformat y data allbwn:

argraffu ('un_', diwedd=»)

argraffu ('dau_', diwedd=»)

print ('tri')

un_dau_tri

Paramedr ffiled

swyddogaethol argraffu () yn cefnogi ailgyfeirio allbwn trwy baramedr ffiled, sydd yn ddiofyn yn cyfeirio at sys.stdout - allbwn safonol. Gellir newid y gwerth i sys.stdin or sys.stderr. gwrthrych ffeil stdin cymhwyso at y mewnbwn, a stderr i anfon awgrymiadau cyfieithydd a negeseuon gwall. Gan ddefnyddio'r paramedr ffiled gallwch chi osod yr allbwn i ffeil. Gall y rhain fod yn ffeiliau .csv neu .txt. Ffordd bosibl o ysgrifennu llinyn i ffeil:

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

prawf def (gwrthrychau):

ar gyfer elfen mewn gwrthrychau:

print (elfen, ffeil = eitem ffeil)

ffeilitem.close()

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

Yn yr allbwn, ysgrifennir at elfennau'r rhestr ffeil print.txt un i bob llinell.

Paramedr fflysio

Mae'r paramedr hwn yn ymwneud â byffro llif data a chan ei fod yn boolean gall gymryd dau werth - Cywir и Anghywir. Yn ddiofyn, mae'r opsiwn wedi'i analluogi: fflysio=Anghywir. Mae hyn yn golygu y bydd arbed data o'r byffer mewnol i ffeil ond yn digwydd ar ôl i'r ffeil gael ei chau neu ar ôl galwad uniongyrchol i fflysio (). I arbed ar ôl pob galwad argraffu () mae angen rhoi gwerth i'r paramedr Cywir:

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

argraffu («cofnodllinellauвfile« , ffeil = file_flush , fflysio = Gwir)

argraffu («cofnod2llinellauвfile« , ffeil = file_flush , fflysio = Gwir)

ffeil_flush.close()

Enghraifft arall o ddefnyddio'r paramedr fflysio defnyddio'r modiwl amser:

Argraffu () yn Python. Cystrawen, gwallau, diwedd a dadleuon sep

Yn yr achos hwn, y ddadl Cywir paramedr fflysio yn caniatáu i'r rhifau gael eu harddangos un ar y tro mewn tair eiliad, tra yn ddiofyn byddai pob rhif yn cael ei arddangos ar y sgrin ar ôl 15 eiliad. I weld effaith y paramedr yn weledol fflysio, mae'n well rhedeg y sgript yn y consol. Y ffaith yw, wrth ddefnyddio rhai cregyn gwe, yn arbennig, Jupyter Notebook, mae'r rhaglen yn cael ei gweithredu'n wahanol (heb ystyried y paramedr fflysio).

Argraffu Gwerthoedd Amrywiol gyda phrint()

Wrth arddangos llinyn sy'n cynnwys y gwerth a neilltuwyd i newidyn, mae'n ddigon i nodi'r dynodwr dymunol (enw newidyn) wedi'i wahanu gan goma. Ni ddylid nodi math y newidyn, oherwydd argraffu yn trosi data o unrhyw fath yn llinynnau. Dyma enghraifft:

i = 0

b = 'Python o'r dechrau'

argraffu (a,'- nifer, а', b,' - llinell.')

Mae 0 yn rhif ac mae Python o'r dechrau yn llinyn.

Offeryn arall ar gyfer trosglwyddo gwerthoedd amrywiol i'r allbwn yw'r dull Fformat. print ar yr un pryd, mae'n gweithredu fel templed lle yn lle enwau amrywiol mewn braces cyrliog, nodir mynegeion o ddadleuon lleoliadol:

i = 0

b = 'Python o'r dechrau'

argraffu('Mae {0} yn rhif ac mae {1} yn llinyn.'.Fformat(a,b))

Mae 0 yn rhif ac mae Python o'r dechrau yn llinyn.

Yn lle Fformat gellir defnyddio'r symbol %, sy'n gweithio ar yr un egwyddor o ddalfannau (yn yr enghraifft flaenorol, roedd cromfachau cyrliog yn gweithredu fel dalfannau). Yn yr achos hwn, mae'r rhifau mynegai yn cael eu disodli gan y math o ddata a ddychwelwyd gan y swyddogaeth:

  • defnyddir dalfan %d ar gyfer data rhifol;
  • mae'r dalfan %s ar gyfer llinynnau.

i = 0

b = 'Python o'r dechrau'

argraffu('%d yn rhif a %s – llinyn.'%(a,b))

Mae 0 yn rhif ac mae Python o'r dechrau yn llinyn.

Os yn lle dalfan ar gyfer cyfanrifau %d nodwch %sswyddogaeth argraffu yn trosi'r rhif yn llinyn a bydd y cod yn gweithio'n gywir. Ond wrth ddisodli %s on %d bydd neges gwall yn cael ei harddangos oherwydd nad yw'r trosiad cefn yn cael ei berfformio.

Argraffu () yn Python. Cystrawen, gwallau, diwedd a dadleuon sep

Casgliad

Gan ddefnyddio'r swyddogaeth argraffu gellir gweithredu opsiynau allbwn data amrywiol. Yn ogystal â'r dulliau a ddisgrifir yn yr erthygl hon, mae yna ffyrdd eraill o ddefnyddio'r offeryn hwn a fydd ar gael wrth i chi dreiddio'n ddyfnach i fyd rhaglennu Python.

Gadael ymateb