Print() у Python. Сінтаксіс, памылкі, аргументы end і sep

друк() – напэўна, самая першая каманда, з якой сутыкаецца пачатковец, вывучаючы Python з нуля. Амаль усе пачынаюць з простага прывітання на экране і пераходзяць да далейшага вывучэння сінтаксісу, функцый і метадаў мовы, не задумваючыся аб дадатковых магчымасцях. друк (). Аднак у Пытhна 3 гэтая каманда забяспечвае доступ да асноўнай функцыі вываду даных з уласцівымі ёй параметрамі і магчымасцямі. Веданне гэтых асаблівасцяў дазволіць вам аптымізаваць вывад дадзеных для кожнага канкрэтнага выпадку.

Перавагі функцый друк() у Пітон 3

У трэцяй версіі Python друк() уваходзіць у асноўны набор функцый. Пры выкананні праверкі тып(друк) інфармацыя адлюстроўваецца: клас "убудаваная_функцыя_or_метад". Слова убудаваная паказвае, што функцыя, якая тэстуецца, убудаваная.

Ніколі не розумhна 3 выхадныя аб'екты (аб'ектs) ставяцца ў дужкі пасля слова друк. На прыкладзе вываду традыцыйнага прывітання гэта будзе выглядаць так:

Для Python 3: print('Прывітанне, свет!').

У Python 2 аператар прымяняецца без дужак: друк "добры дзень, свет! '

Вынік у абодвух варыянтах будзе аднолькавым: добры дзень, свет!

Калі ў другой версіі Python значэнні пасля друк у дужках, тады будзе адлюстраваны картэж - тып дадзеных, які з'яўляецца нязменным спісам:

print(1, 'першы', 2, 'другі')

(1, 'першы', 2, 'другі')

Пры спробе зняць дужкі пасля друк у трэцяй версіі Python праграма выдасць сінтаксічную памылку.

print("Прывітанне, свет!")
Файл "", радок 1 print "Прывітанне, свет!" ^ SyntaxError: Адсутнічаюць дужкі ў выкліку 'print'. Вы мелі на ўвазе print("Прывітанне, свет!")?

 Асаблівасці сінтаксісу print() у Python 3

Сінтаксіс функцыі друк () уключае фактычны аб'ект або аб'екты (аб'екты), якія таксама можна назваць значэннямі (каштоўнасці) або элементы (пунктаў), і некалькі варыянтаў. Спосаб візуалізацыі аб'ектаў вызначаецца чатырма названымі аргументамі: падзельнікам элементаў (Верасень), радок, які друкуецца пасля ўсіх аб'ектаў (канец), файл, у які выводзяцца дадзеныя (філе), і параметр, які адказвае за буферызацыю вываду (ўпоравень).

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

Выклік функцыі магчымы без указання значэнняў параметраў і нават без якіх-небудзь аб'ектаў: друк (). У гэтым выпадку выкарыстоўваюцца параметры па змаўчанні, і калі элементаў няма, будзе адлюстроўвацца неадлюстраваны пусты сімвал радка - фактычна значэнне параметра канец - "n". Такі выклік, напрыклад, можна выкарыстоўваць для вертыкальнага водступу паміж шпількамі.

Усе неключавыя аргументы (аб'екты) запісваюцца ў паток даных і пераўтвараюцца ў радкі, падзеленыя Верасень і завершана канец. Аргументы параметраў Верасень и канец таксама маюць тып радка, яны могуць не быць указаны пры выкарыстанні значэнняў па змаўчанні.

Параметр Верасень

Значэнні ўсіх параметраў друк апісваюцца як аргументы ключавых слоў Верасень, канец, філе, ўпоравень. Калі параметр Верасень не вызначана, то прымяняецца яго значэнне па змаўчанні: Верасень= ”, а выхадныя аб'екты падзяляюцца прабеламі. прыклад:

друк(1, 2, 3)

1 2 3

Як аргумент Верасень вы можаце паказаць іншае значэнне, напрыклад:

  • раздзяляльнік адсутнічае вер=»;
  • вывад новага радка верасень ="не ';
  • або любы радок:

друк(1, 2, 3, sep='раздзяляльнае слова')

1 раздзяляльнік слоў 2 раздзяляльнік слоў 3

Параметр канец

Па змаўчанні канец='n', і вывад аб'ектаў заканчваецца новым радком. Замена значэння па змаўчанні іншым аргументам, напрыклад, канец= “, зменіць фармат выходных даных:

print('one_', end=»)

print('два_', канец=»)

друк ('тры')

раз два тры

Параметр філе

функцыянальная друк () падтрымлівае перанакіраванне вываду праз параметр філе, які па змаўчанні спасылаецца на сістэмны.выбіты – стандартны выхад. Значэнне можна змяніць на sys.stdin or sys.stderr. аб'ект файла stdin прымяняецца да ўваходу, і цвярдзей для адпраўкі падказак перакладчыка і паведамленняў пра памылкі. Выкарыстанне параметра філе вы можаце ўсталяваць вывад у файл. Гэта могуць быць файлы .csv або .txt. Магчымы спосаб запісаць радок у файл:

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

дэф тэст (аб'екты):

для элемента ў аб'ектах:

друк(элемент, файл=элемент файла)

fileitem.close()

тэст([10,9,8,7,6,5,4,3,2,1])

На выхадзе будуць запісаны элементы спісу файл для друку.TXT па адным на радок.

Параметр ўпоравень

Гэты параметр звязаны з буферызацыяй патоку даных, і паколькі ён з'яўляецца лагічным, ён можа прымаць два значэнні - праўда и фальшывы. Па змаўчанні опцыя адключана: ўпоравень=фальшывы. Гэта азначае, што захаванне дадзеных з унутранага буфера ў файл адбудзецца толькі пасля закрыцця файла або пасля прамога выкліку прамыць (). Для захавання пасля кожнага званка друк () параметру неабходна прысвоіць значэнне праўда:

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

друк(«запіслініівфайл«, file=file_flush, flush=True)

друк(«запіс2.лініівфайл«, file=file_flush, flush=True)

file_flush.close()

Яшчэ адзін прыклад выкарыстання параметра ўпоравень з дапамогай модуля часу:

Print() у Python. Сінтаксіс, памылкі, аргументы end і sep

У дадзеным выпадку аргумент праўда параметр ўпоравень дазволіць паказваць лічбы па адной на працягу трох секунд, у той час як па змаўчанні ўсе лічбы будуць адлюстроўвацца на экране праз 15 секунд. Каб візуальна ўбачыць дзеянне параметра ўпоравень, лепш запусціць скрыпт у кансолі. Справа ў тым, што пры выкарыстанні некаторых вэб-абалонак, у прыватнасці Jupyter Notebook, праграма рэалізуецца інакш (без уліку параметра ўпоравень).

Друк значэнняў зменных з дапамогай print()

Пры адлюстраванні радка, які змяшчае значэнне, прысвоенае зменнай, дастаткова ўказаць патрэбны ідэнтыфікатар (імя зменнай) праз коску. Тып зменнай паказваць не варта, т.к друк пераўтварае даныя любога тыпу ў радкі. Вось прыклад:

а = 0

b = 'Python з нуля'

print(a,'– нумар, а',b,'– лінія.')

0 - гэта лік, а Python з нуля - гэта радок.

Іншым інструментам для перадачы значэнняў зменных на вывад з'яўляецца метад фармат. друк адначасова ён выконвае ролю шаблону, у якім замест імёнаў зменных у фігурных дужках паказваюцца індэксы пазіцыйных аргументаў:

а = 0

b = 'Python з нуля'

друк('{0} - лік, а {1} - радок.'.фармат(a,b))

0 - гэта лік, а Python з нуля - гэта радок.

Замест фармат можна выкарыстоўваць сімвал %, які працуе па тым жа прынцыпе, што і запаўняльнікі (у папярэднім прыкладзе запаўняльнікамі выступалі фігурныя дужкі). У гэтым выпадку нумары індэксаў замяняюцца тыпам дадзеных, які вяртае функцыя:

  • запаўняльнік %d выкарыстоўваецца для лікавых дадзеных;
  • запаўняльнік %s прызначаны для радкоў.

а = 0

b = 'Python з нуля'

друк('%d гэта лік і %s – радок.'%(a,b))

0 - гэта лік, а Python з нуля - гэта радок.

Калі замест запаўняльніка для цэлых лікаў %d спецыфікаваных %sфункцыя друк пераўтворыць лік у радок, і код будзе працаваць правільна. Але пры замене %s on %d будзе адлюстравана паведамленне пра памылку, таму што зваротнае пераўтварэнне не выконваецца.

Print() у Python. Сінтаксіс, памылкі, аргументы end і sep

заключэнне

Выкарыстанне функцыі друк могуць быць рэалізаваны розныя варыянты вываду дадзеных. У дадатак да метадаў, апісаных у гэтым артыкуле, ёсць іншыя спосабы выкарыстання гэтага інструмента, якія стануць даступнымі па меры таго, як вы паглыбіцеся ў свет праграмавання на Python.

Пакінуць каментар