Movatterモバイル変換


[0]ホーム

URL:


Jump to content
Վիքիպեդիա
Որոնել

Python

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Python
պատկերանիշ
Տեսակօբյեկտ կողմնորոշված ծրագրավորման լեզու
Սեմանտիկաօբյեկտային կողմնորոշում
Կատարման ձևինտերպրետացվող,MSILկոմպիլյացվող,Ջավայիբայթ-կոդ կոմպիլյացվող
Առաջացել էփետրվարի 20,1991[1]
ՍտեղծողPython Software Foundation և Գվիդո վան Ռոսում[1]
ՆախագծողԳվիդո վան Ռոսում[1]
Ընդլայնումներ.py, .pyw, .pyc, .pyo, .pyd
ՕՀբազմապլատֆորմ[2]
Տիպիզացիախիստ,դինամիկ
Ներշնչվել էABC[3]
ԱրտոնագիրPython Software Foundation License[1]
Անվանված էՄոնթի Փայթն[4][5]
Սխալնելի հայտման էջgithub.com/python/cpython/issues
Կայքpython.org(անգլ.)
 Python (programming language) Վիքիպահեստում

Python (անգլ.՝python, արտասանվում է որպես[ˈpaɪθ⟨ə⟩n] (փայթըն), սակայն հաճախ օգտագործվում է նաևպիտոն (ռուսերենից եկած) տարբերակը, որը նշանակում է կենդանի)[6], ընդհանուր նշանակության բարձր մակարդակի ծրագրավորման լեզու, որը հիմնականում կենտրոնացած է ծրագիրը արագ մշակելու և կոդի հեշտ ընթերցանությունն ապահովելու վրա։ Python-ի միջուկիշարահյուսությունը շատ պարզ և հեշտ է։ Միևնույն ժամանակ,ստանդարտ գրադարանը ներառում է բազմաթիվ օգտակար ֆունկցիաներ։

Python-ն աջակցում է ծրագրավորման մի քանինմուշներ, այդ թվում՝կառուցվածքային,օբյեկտային կողմնորոշմամբ,ֆունկցիոնալ,իմպերատիվ ևասպեկտային կողմնորոշմամբ։ Հիմնական կառուցվածքային գծերն են՝դինամիկ տիպավորումը,հիշողության ավտոմատ կառավարումը, լրիվինքնադիտողությունը,բացառությունների վերամշակման մեխանիզմը և բարձր մակարդակիտվյալների կառուցվածքը։ Պիտոնում կոդը կազմված է ֆունկցիաներից ևդասերից, որոնք կարող են միավորվել մոդուլներում, որոնք էլ, իրենց հերթին, փաթեթներում։

Python-ի հիմնական ինտերպրետատորըCPython-ն է։ Այն աջակցվում է ակտիվ օգտագործվող հարթակների մեծամասնության կողմից[7]։ Այն տարածվում է Python Software Foundation Licenseազատ արտոնագրով, որն թույլ է տալիս օգտագործել այն ցանկացած ծրագրերում առանց սահմանափակման[8]։ Գոյություն ունեն նաև ինտերպրետատորի տարբերակներJVM-ի (կոմպիլյացիայի հնարավորությամբ),MSIL-ի (կոմպիլյացիայի հնարավորությամբ),LLVM-ի համար։PyPy նախագիծն առաջարկում է Պիտոնի համար հենց Պիտոնով գրված ինտերպրետատոր։

Python-ը ակտիվ զարգացող ծրագրավորման լեզու է։ Նոր տարբերակները (լեզվի հատկությունների ավելացմամբ/փոփոխմամբ) թողարկվում են մոտավորապես 2.5 տարին մեկ անգամ։ Այդ և որոշ այլ պատճառներով, Python-ում բացակայում ենANSI,ISO և այլ պաշտոնական ստանդարտներ, որոնց դերը կատարում է CPython-ը։

Փիլիսոփայություն

[խմբագրել |խմբագրել կոդը]

Python-ի մշակողները հետևում են ծրագրավորման որոշ փիլիսոփայության, որն անվանում են «The Zen of Python» («Պիտոնիզենը» կամ «Փայթոնի զենը»)[9]։Ինտերպրետատորըimport this հրամանի դեպքում կարտածի այդ կոդը (աշխատում է միևնույն սեսիայում միայն մեկ անգամ)։ Այդ փիլիսոփայության հեղինակը Թիմ Փեյթերսն է։

Փիլիսոփայության տեքստը՝

  • Գեղեցիկն ավելի լավ է, քան տգեղը։
  • Հստակը ավելի լավ է, քան ոչ հստակը։
  • Պարզն ավելի լավ է, քան բարդը։
  • Բարդը ավելի լավ է, քան խճճվածը։
  • Հարթն ավելի լավ է, քան ծալվածը։
  • Նոսրն ավելի լավ է, քան խիտը։
  • Ընթերցելիությունը նշանակություն ունի։
  • Հատուկ դեպքերն այնքան հատուկ չեն, որ դրանց համար խախտել կանոնները։
  • Թեև գործնական լինելն ավելի կարևոր է, քան անթերի լինելը։
  • Սխալներն երբեք չպետք է լռեցվեն։
  • Եթե դրանք հստակ չեն լռեցվում։
  • Հանդիպելով երկիմաստության, թո՛ղ գուշակելու հրապուրանքը։
  • Պետք է գոյություն ունենա մեկ և, ցանկալի է,միայն մեկ ակնհայտ միջոց դա անելու համար։
  • Չնայած այն սկզբում կարող է ոչ այնքան ակնհայտ լինել, եթե, իհարկե, դուք հոլանդացի չեք[10]։
  • Այժմն ավելի լավ է, քան երբեք։
  • Չնայած երբեքն ավելի լավ է, քանհենց հիմա։
  • Եթե մտածածն իրագործելու ձևն դժվար է բացատրել, ապա դա վատ միտք է։
  • Եթե իրագործելու ձևն հեշտ է բացատրել, ապա դա,հնարավոր է, լավ միտք է։
  • Անվանատարածքը լավ բան է։ Դրանից շատ կանենք։
Բնօրինակ տեքստ(անգլ.)  

  • Beautiful is better than ugly.
  • Explicit is better than implicit.
  • Simple is better than complex.
  • Complex is better than complicated.
  • Flat is better than nested.
  • Sparse is better than dense.
  • Readability counts.
  • Special cases aren’t special enough to break the rules.
  • Although practicality beats purity.
  • Errors should never pass silently.
  • Unless explicitly silenced.
  • In the face of ambiguity, refuse the temptation to guess.
  • There should be one - and preferably only one - obvious way to do it.
  • Although that way may not be obvious at first unless you’re Dutch.
  • Now is better than never.
  • Although never is often better than 'right now'.
  • If the implementation is hard to explain, it’s a bad idea.
  • If the implementation is easy to explain, it may be a good idea.
  • Namespaces are one honking great idea - let’s do more of those!

Պատմություն

[խմբագրել |խմբագրել կոդը]

Python լեզվի մշակումն սկսվել է1980-ական թվականներին[11] հոլանդական CWI համալսարանի աշխատակիցԳվիդո վան Ռոսումի կողմից։ Այն ժամանակ տարածվածAmoebaօպերացիոն համակարգի համար անհրաժեշտ էր ընդլայնվող սկրիպտային ծրագրավորման լեզու, և Գվիդոն ազատ ժամանակ սկսեց գրել Python-ը, վերցնելով որոշ առանձնահատկություններABC լեզվից (Գվիդոն մասնակցել էր այդ լեզվի ստեղծմանը, որն կենտրոնացված է ծրագրավորման ուսուցման վրա)։1991 թ․ փետրվարին Գվիդոն հրապարակեց Python-ի ելակետային տեքստը alt.sourcesլրատվական խմբում[12]։ Ամենասկզբից Python-ն նախագծված էր որպեսօբյեկային կողմնորոշմամբ ծրագրավորման լեզու։

Հեղինակի խոսքերով, լեզուի անվանումն ծագել է ոչ թե սողունի անվանումից, այլ1970-ական թվականներին հայտնի բրիտանական հումորային«Մոնթի Փայթոնի թռչող կրկեսը» անվանումից։ Չնայած դրան, լեզվի անվանումը շատ հաճախ ասոցիացվում է օձի, ոչ թե ֆիլմի հետ։ Այդ մասին են խոսումKDE-ում կամMicrosoft Windows-ում .py ընդլայնմամբ ֆայլերի պատկերները, և նույնիսկ python.org կայքի պատեկերանիշը (մինչև 2.5 տարբերակը)։

2008 թվականիդեկտեմբերի 8-ին[13], երկարատև փորձարկումներից հետո, թողարկվեց Python 3000-ի նոր տարբերակը (կամ Python 3.0-ն, հաճախ օգտագործվում է նաև Py3kհապավումը)։ Python 3000-ում վերացված են կառուցվածքի որոշ թերություններ՝ հնարավորինս (բայց ոչ լրիվ) պահպանելով համատեղելիությունը Python-ի հին տարբերակների հետ։

Այլ լեզուների ազդեցություն

[խմբագրել |խմբագրել կոդը]

Հայտնվելով համեմատականորեն ավելի ուշ, Python-ը ստեղծվել է մի քանի լեզուների ազդեցության տակ՝

  • ABC - օպերատորների խմբավորման համար հեռավորությունների կիրառումը, տվյալների բարձր մակարդակի կառուցվածքը (map)[14][15] (Python-ը, փաստորեն, ստեղծվել է նրա համար, որպեսզի ուղղվեն ABC-ի նախագծման ժամանակ առաջացած սխալները),
  • Modula-3 - փաթեթներ, մոդուլներ,else-ի օգտագործումըtry-ի ևexcept-ի հետ համատեղ, ֆունկցիաների արգումենտներին անվանումներ տալը (դրա վրա ազդել է նաևCommon Lisp լեզուն),
  • С,C++ - որոշ շարահյուսական կառուցներ (ինչպես գրում էԳվիդո վան Ռոսումը, նա օգտագործել է C-ի ամենից շատ չհակասող կառույցներ, որպեսզի Python-ը C-ծրագրավորողների մոտ զզվանք չառաջացնի Python[14]),
  • Smalltalk -օբյեկտային կողմնորոշմամբ ծրագրավորումը,
  • Լիսպ -ֆունկցիոնալ ծրագրավորման առանձին գծեր (lambda, map, reduce, filter և ուրիշներ),
  • Ֆորտրան - շերտավոր զանգվածները, թվաբանությունները,
  • Miranda -ցանկային արտահայտությունները,
  • Ջավա - logging, unittest, threading մոդուլները (դրանց բնօրինակների հնարավորությունների մի մասն իրագործված չէ), xml.sax ստանդարտ գրադարանները, բացառությունների վերամշակման ժամանակ finally-ի և except-ի համատեղ օգտագործումը, @-ի օգտագործումըդեկորատորներում,
  • Icon -գեներատորները։

Python-ի այլ առանձնահատկությունների մեծ մասը (օրինակ, ելատեքստային կոդի բայթ-կոմպիլյացիան) նույնպես այլ լեզուներում ավելի վաղ արդեն իրագործ են եղել։

Դյուրատարություն

[խմբագրել |խմբագրել կոդը]

Python-ն աշխատում է գրեթե բոլոր հայտնի հարթակների վրա՝Գրպանի անձնական համակարգիչներից մինչև մեյնֆրեյմներ։ Գոյություն ունեն տարբերակներMicrosoft Windows-ի, գրեթե բոլորUNIX համակարգերի (այդ թվում՝FreeBSD-ի ևԼինուքսի),Plan 9-ի,Մաք ՕԷսի,iPhone OS 2.0 և ավելի բարձր տարբերակների,Palm OS-ի,OS/2-ի,Amiga-ի,HaikuOS-ի,AS/400-ի և նույնիսկOS/390-ի,Windows Mobile-ի,Symbian-ի ևԱնդրոիդի[16] համար։

Այս կամ այն հարթակի հնանալուց հետո լեզվի հիմնական ճյուղում դրա աջակցումը դադարեցվում է։ Օրինակ, 2.6 տարբերակից սկսած դադարեցվել էWindows 95-ի,Windows 98-ի ևWindows ME[17] աջակցությունը։ Սակայն այդ հարթակների վրա կարելի է օգտագործել Python-ի նախկին տարբերակներ․ այս պային Python-ի համայնքը աջակցում է լեզվի 2.3-ից սկսած բոլոր տարբերակները (դրանց համար ժամանակ առ ժամանակ թարմացումներ են թողարկվում)։

Չնայած այս ամենին, ի տարբերություն այլ դյուրատար համակարգերի, բոլոր հիմնական հարթակների համար Python-ն ունի տվյալ հարթակին բնորոշ տեխնոլոգիաների աջակցությւոն (օրինակ, MicrosoftCOM/DCOM)։ Ավելին, գոյություն ունեն Python-ի հատուկ տարբերակ Java―ի համար՝Jython-ը։ Այն թույլ է տալիս ինտերպրետատորին կատարվել Java―ի աջակցությամբ ցանկացած համակարգում։ Java―ի դասերը կարող են օգտագործվել և նույնիսկ գրվել Python-ի միջոցով։ Որոշ նախագծեր ապահովում են նաևMicrosoft .NET հարթակի հետ ինտեգրացիան։ Դրանցից հիմնականներն ենIronPython-ը ևPython.Net-ը։

Տվյալների տիպերն ու կառուցվածք

[խմբագրել |խմբագրել կոդը]

Python-ն աջակցում է տվյալներիդինամիկ տիպավորում, այսինքն՝ փոփոխականի տեսակը որոշվում է այն օգատգործելու ժամանակ։ Այդ իսկ պատճառով, «փոփոխականին արժեք վերագրել» արտահայտության փոխարեն ավելի ճիշտ է օգտագործել «արժեքի կապումը որոշակի անվան հետ» արտահայտությունը։ Python-ն ունի հետևյալ ներկառուցված տիպերը՝տրամաբանական (boolean),տողային,Յունիկոդ-տողեր, կամայական ճշտությամբ ամբողջ թվեր,լողացող կետով թվեր,բարդ թվեր և մի շարք այլ տիպեր։Հավաքածուներից Python-ում կան հետևյալ տիպերը՝ցուցակներ,կորտեժներ (չփոփոխվող ցուցակ),բառարաններ,բազմություններ և այլն[18]։ Բոլոր արժեքները, այդ թվում՝ ֆունկցիաները, մեթոդները, մոդուլները, դասերը, համարվում են օբյեկտներ։

Տվյալների նոր տիպ ստեղծելու համար անհրաժեշտ է կամ գրել նորդաս (class), կամ հրապարակել նոր տիպը ընդլայնման մոդուլում (օրինակ,Սի լեզվով գրված մոդուլում)։ Դասերի համակարգը աջակցում էժառանգում (միակի ևբազմակի) ևմետածրագրավորում։ Ներկառուցված տիպերի և ընդլայնումների տիպերի մեծ մասը հնարավոր է ժառանգել[19] ևbpython[20]։

Բոլոր օբյեկտներն բաժանվում են երկու մասի՝ հղումային և ատոմային։ Ատոմային ենint-ը,long-ը,complex-ը և մի շարք այլ օբեկտներ։ Ատոմային օբյեկտների վերագրման ժամանակ պատճենվում են դրանց արժեքները, մինչդեռ հղումային օբյեկտների դեպքում պատճենվում է միայն դեպի այդ օբյեկտ հղումը, որի շնորհիվ երկու փոփոխականներն էլ օգտագործում են միևնույն արժեքը։ Հղումային օբյեկտներն իրենց հերթին լինում են 2 տեսակի՝ փոփոխվող և չփոփոխվող։ Օրինակ, տողերը և կորտեժները չփոփոխվող են, իսկ ցուցակները, բառարանները՝ փոփոխվող։ Python-ում կորտեժը, փաստորեն, համարվում է չփոփոխվող ցուցակ։ Շատ դեպքերում կորտեժներն ցուցակներից ավելի արագ են աշխատում[21], ուստի, եթե չեք ցանկանում փոփոխել հաջորդականությունը, ապա ավելի լավ է օգտագործել դրանք։

Տես նաև

[խմբագրել |խմբագրել կոդը]

Նշումներ

[խմբագրել |խմբագրել կոդը]
IDLE

Python-ը ստաբիլ և բավականին տարածված լեզու է։ Այն օգտագործվում է բազմաթիվ նախագծերում։ Դրանցից մի մասում այն օգտագործվում է որպես հիմնական ծրագրավորման լեզու, մյուսներում՝ ծրագրերում ընդլայնումների ստեղծման համար։ Python լեզվով են ստեղծվել բազմաթիվ մեծ ու փոքր նախագծեր։ Այն նաև օգտագործվում է ապագայում ստեղծվելիք ծրագրերի համար նախատիպեր ստեղծելու համար։ Python-ը օգտագործվում է բազմաթիվ ընկերություններում[22]։

Python-ը, իրNumPy,SciPy ևMatPlotLib փաթեթների շնորհիվ, շատ դեպքերում օգտագործվում է որպես գիտական հաշվարկների համար ունիվերսալ միջավայր։ Այդպիսով, այն շատ դեպքերում կարող է փոխարինել այնպիսի կոմերցիոն ծրագրերին, ինչպիսիք ենMatlab-ը ևIDL[23][24]։

Ծանոթագրություններ

[խմբագրել |խմբագրել կոդը]
  1. 1,01,11,21,3History and License - Python documentation
  2. Download Python
  3. Why was Python created in the first place?PSF.
  4. Rossum G. v.Foreword for "Programming Python" (1st ed.)Reston: 1996.
  5. (unspecified title)ISBN 978-1-59327-407-8
  6. Լեզվի ստեղծողԳվիդո վան Ռոսումի խոսքերով, անվանումը եկել է ոչ թե նույնանուն կենդանու կամպիֆոն գերբնական էակի, այլ«Մոնթի Փայթոնի թռչող կրկեսը» հեռուսատշոույից։ Տես՝http://docs.python.org/faq/general#why-is-it-called-python, սակայն օձի պատկերը արդեն վաղուց դարձել է լեզվի պաշտոնական պատկերանիշի մի մասը։
  7. About Python
  8. History and License - Python documentation
  9. PEP 20 - The Zen of Python
  10. Հումորային ակնարկ Գվիդոյի ազգությանը
  11. The Making of Python
  12. «Արխիվացված պատճենը». Արխիվացված էօրիգինալից 2016 թ․ փետրվարի 17-ին. Վերցված է 2012 թ․ սեպտեմբերի 23-ին.
  13. Python 3.0 Release
  14. 14,014,1Foreword for «Programming Python» (1st ed.)
  15. The Making of Python
  16. «Python on Android» (անգլերեն). www.damonkohler.com.Արխիվացված օրիգինալից 2011 թ․ հունվարի 28-ին. Վերցված է 2009 թ․ դեկտեմբերի 19-ին.
  17. «Port-Specific Changes: Windows».Python v2.6.1 documentation. What’s New in Python 2.6 (անգլերեն). Python Software Foundation.Արխիվացված օրիգինալից 2011 թ․ հունվարի 28-ին. Վերցված է 11 դեկտեմբերի, 2008-ին.
  18. Python Documentation - Built-in Types
  19. [https://web.archive.org/web/20180804135112/http://ipython.scipy.org/ Արխիվացված 2018-08-04Wayback Machine
  20. [1]Արխիվացված 2011-05-11Wayback Machine bpython interpreter]
  21. Are tuples more efficient than lists in Python? - Stack Overflow
  22. Python Success Stories
  23. Python vs MatlabԱրխիվացված 2014-08-24Wayback Machine Python for scientists blog
  24. IDL vs. Python AstroBetter Tips and Tricks for Professional Astronomers

Գրականություն

[խմբագրել |խմբագրել կոդը]

Արտաքին հղումներ

[խմբագրել |խմբագրել կոդը]
Վիքիպահեստն ունի նյութեր, որոնք վերաբերում են«Python» հոդվածին։
 ⛭ 
  Թեմատիկ կայքեր
Բառարաններ և հանրագիտարաններ
 
BNF13560465c ·GND4434275-5 ·LCCNsh96008834 ·Microsoft519991488 ·NKCph170668 ·SUDOC051626225
Մարդիկ
Կոմպիլյատորներ
Ֆրեյմվորկներ
IDE-ներ
Գրադարաններ
Այլ
Ստացված է «https://hy.wikipedia.org/w/index.php?title=Python&oldid=10177330» էջից
Կատեգորիաներ:
Թաքցված կատեգորիաներ:

[8]ページ先頭

©2009-2026 Movatter.jp