Python (мова праграмавання)
Python (англ.: python — Па́йтан ; ва ўсходнеславянскіх мовах пашырана назва піто́н[4])[5] — высокаўзроўневая мова праграмавання агульнага прызначэння, скіраваная на павышэнне прадукцыйнасці распрацоўшчыка і чытальнасці кода. Сінтаксіс ядра Python мінімалістычны. Пры гэтым стандартная бібліятэка ўключае вялікую колькасць карысных функцый. Узорнай рэалізацыяй мовы Python ёсць інтэрпрэтатар CPython, які падтрымлівае большасць пашыраных платформ[6]. Ён распаўсюджваецца пад свабоднай ліцэнзіяй Python Software Foundation License, якая дазваляе выкарыстоўваць яго без абмежаванняў у любых праграмах, у тым ліку і ва ўласніцкіх[7]. Існуюць рэалізацыі інтэрпрэтатараў для JVM (з магчымасцю кампіляцыі), MSIL (з магчымасцю кампіляцыі), LLVM і іншых. Праект PyPy прапануе рэалізацыю Пітона на самім Пітоне, што памяншае затраты на змяненне мовы і даследаванне новых магчымасцей. Python актыўна развіваецца, новыя версіі (з новымі або змененымі моўнымі ўласцівасцямі) выходзяць прыкладна раз у два з паловай гады. З гэтае і некаторых іншых прычын на Python адсутнічаюць стандарт ANSI, ISO і іншыя афіцыйныя стандарты, іх ролю выконвае CPython. Такія вэб-фрэймворкі, як Django, Pylons , Pyramid[8], TurboGears[9], web2py[10], Tornado[11], Flask, FastAPI і Zope , дапамагаюць распрацоўнікам у стварэнні і суправаджэнні складаных праграм. Філасофія мовыРаспрацоўшчыкі мовы «Пайтан» — трымаюцца пэўнай філасофіі праграмавання, называнай «дзэнам Пайтана » (англ.: The Zen of Python)[12]. Аўтарам лічаць Ціма Пэйтэрса (англ.: Tim Peters). Яе тэкст — выдаецца інтэрпрэтатарам Пайтана[13] на загад
Гісторыя![]() Распрацоўваць мову Python пачаў у канцы 1980-х гадоў[15] супрацоўнік нідэрландскага інстытута CWI Гвіда ван Росум. Для размеркаванай АС Amoeba была патрэбна пашыраемая скрыптавая мова, і ван Росум ў вольны час пачаў пісаць Python, пазычыўшы некаторыя напрацоўкі для мовы ABC (ван Росум ўдзельнічаў у распрацоўцы гэтай мовы, скіраванай на навучанне праграмаванню). У лютым 1991 года ён апублікаваў зыходны тэкст у групе навін alt.sources[16]. З самага пачатку Python распрацоўвалася як аб’ектна-арыентаваная мова. Назва мовы паходзіць зусім не ад віду паўзуноў. Аўтар назваў мову па папулярнай брытанскай камедыйнай тэлепраграме 1970-х гадоў «Лятучы цырк Монці Пайтана». Зрэшты, усё роўна назву мовы часцей спалучаюць менавіта са змяёй, а не з тэлеперадачай — на піктаграмах файлаў у KDE і ў Microsoft Windows і нават на эмблеме на сайце python.org (да выхаду версіі 2.5) адлюстраваны змяіныя галовы. Наяўнасць добразычлівай супольнасці разам з дызайнерскай інтуіцыяй ван Росума лічацца аднымі з галоўных чыннікаў поспеху мовы Python. Развіццё мовы ідзе згодна з дакладна акрэсленым працэсам стварэння, абмеркавання, адбору і зацверджання дакументаў PEP (англ.: Python Enhancement Proposal) — прапаноў па развіццю мовы Python[17]. 3 снежня 2008 года[18], пасля працяглага тэсціравання, выйшла першая версія Python 3000 (або Python 3.0, таксама ўжываецца скарачэнне Py3k). У Python 3000 былі прыбраны многія недахопы архітэктуры, пры гэтым стараліся захаваць як мага большую (але няпоўную) сумяшчальнасць са старымі версіямі мовы Python. На сёння падтрымліваюцца абодва адгалінаванні мовы (Python 3.х і 2.x). Уплыў іншых моў на PythonМова Python з’явілася адносна позна, і стваралася яна пад уплывам мноства моў праграмавання:
Большасць іншых магчымасцей мовы Python (напрыклад, байт-кампіляцыя зыходнага кода) таксама была рэалізавана раней у іншых мовах. Сінтаксіс і семантыка![]() Мове Python уласцівыя выразны і паслядоўны сінтаксіс, прадуманая модульнасць і пашыральнасць, дзякуючы чаму пітонаўскі зыходны код лёгка чытаць. Python мае адну цікавую сінтаксічную асаблівасць: блокі коду выдзяляюцца з дапамогай водступаў (прабелаў або табуляцый), таму ў Пітоне няма т.зв. аператарных дужак begin/end, як у мове Паскаль, ці фігурных дужак, як у Сі. Гэта асаблівасць дазваляе скараціць колькасць радкоў і знакаў у зыходным кодзе і прывучае (калі не сказаць прымушае) да «добрага» стылю праграмавання. С другога боку, паводзіны і нават правільнасць праграмы можа залежаць ад пачатковых прабелаў у тэксце. Некаторыя могуць палічыць такія паводзіны нязручнымі і неінтуітыўнымі. Акрамя таго, гэта стварае пэўныя нязручнасці пры набіранні зыходнага коду глыбока ўкладзеных блокаў, бо прыходзіцца ў кожным новым радку ўводзіць пэўную колькасць прабельных знакаў, якая нарастае разам з глыбінёю ўкладання. АператарыНабор аператараў даволі звычайны, і нічым асабліва не адрозніваецца ад іншых распаўсюджаных моў праграмавання. Вось некаторыя з іх:
ВыразыВыраз ёсць паўнапраўным аператарам у Пітоне. Склад, сінтаксіс, спалучальнасць і прыярытэт аперацый даволі звычайныя для моў праграмавання і накіраваны на скарачэнне ўжывання дужак. Варта асобна адзначыць аперацыю фарматавання для радкоў (працуе падобна да >>> print ("Прывітанне, %s!" % "Свет")
Прывітанне, Свет!
У Пітоне ёсць зручныя ланцужковыя параўнанні. Такія ўмовы ў праграмах — не рэдкасць: 1 <= a < 10 and 1 <= b < 20
Акрамя таго, лагічныя аперацыі ( (a < b) and "менш" or "больш ці роўна"
Убудаваныя тыпы даных, як правіла, маюць асобны сінтаксіс для сваіх літэралаў (запісаных у зыходным кодзе пастаянных): "радок" + 'радок' """таксама радок""" u"Унікод-радок"
True or False # булевы літэралы
3.14 # лік з плаваючай коскай
012 + 0xA # лікі ў васьмярковай і шаснаццатковай сістэмах злічэння
1 + 2j # камплексны лік
[1, 2, "a"] # спіс
(1, 2, "a") # упарадкаваная тройка (у агульным выпадку n-ка, т.зв. картэж)
{'a': 1, 'b': 'B'} # слоўнік
lambda x: x**2 # безыменная (ананімная) функцыя
Для спісаў (і іншых паслядоўнасцей) у мове Python прапануецца набор аперацый над зрэзамі. Асаблівасцю тут з’яўляецца індэксацыя, якая пачаткоўцу можа здацца дзіўнай, але па меры выкарыстання няцяжка пераканацца ў яе лагічнасці і ўзгодненасці. Індэксы элементаў спіса пачынаюцца з нуля. Запіс зрэзу ІмёныІмя (ідэнтыфікатар) можа пачынацца з лацінскай літары любога рэгістра або са знаку падкрэслівання У кожным месцы праграмы інтэрпрэтатар мае доступ к тром прасторам імён (то бок адлюстраванням імён у аб’екты): лакальнаму, глабальнаму і ўбудаванаму. Абсягі бачнасці імён могуць быць укладзеныя адзін у адзін (унутры азначаемай функцыі відаць імёны з вакольнага блока коду). На практыцы з абсягамі бачнасці і звязваннем імён звязана некалькі правіл «добрага тону», пра якія падрабязней можна даведацца з дакументацыі. Радкі дакументацыіУ Пітоне прапануецца механізм дакументавання кода pydoc. У пачатак кожнага модуля, класа, функцыі ўстаўляецца радок дакументацыі docstring . Радкі дакументацыі застаюцца ў кодзе на момант выканання, і ў мову ўбудован доступ к дакументацыі[22], што выкарыстоўваецца сучаснымі IDE (напрыклад, Eclipse). У інтэрактыўным рэжыме можна атрымаць дапамогу, згенераваць гіпертэкставую дакументацыю для цэлага модуля ці нават прымяніць doctest для аўтаматычнага тэсціравання модуля. Указанні (дырэктывы)Пачынаючы з Python 2.3, каб можна было выкарыстоўваць у тэксце праграмы сімвалы, якія не ўваходзяць у набор ASCII, неабходна яўна ўказваць кадзіроўку зыходнага коду ў пачатку модуля, напрыклад: # -*- coding: utf-8 -*-
Пасля гэтага можна выкарыстоўваць, напрыклад, кірыліцу ва Ўнікод-літэралах (Унікод-радках). ПапулярнасцьЗ 2003 года Python нязменна ўваходзіць у дзесятку самых папулярных моў праграмавання ў індэксе супольнасці праграмавання TIOBE, дзе па стане на кастрычнік 2021 года ён з’яўляецца самай папулярнай мовай (апярэджваючы Java і C).[23] Эмпірычнае даследаванне паказала, што мовы сцэнарыяў, такія як Python, больш прадуктыўныя, чым звычайныя мовы, такія як C і Java, для праблем праграмавання, звязаных з маніпуляцыяй радкамі і пошукам у слоўніку, і вызначыла, што спажыванне памяці часта было «лепш, чым Java, а не значна горш, чым C або C++».[24] Зноскі
|
Portal di Ensiklopedia Dunia