Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Python3 հուշաթերթիկ

1. Introduction / Ներածություն

Պիտոնը (ճիշտ արտասանությունը՝ Փայթըն) համեմատաբար հեշտ ուսուցանվող, լայն հնարավորություններ ընձեռող ծրագրավորման լեզու է։ Այն ունի high-level data-structure֊ներ, պարզ, բայց էֆֆեկտիվ մոտեցում օբյեկտ֊օրիենտացված ծրագրավորմանը։ Պիտոնի էլեգանտ սինտաքսն ու դինամիկ typing-ը լեզվի ինտերպրետացված լինելու էության հետ մեկտեղ այն դարձնում են իդեալական լեզու scripting֊ի և տարբեր պլատֆորմների վրա կարճ ժամանակում որակյալ ծրագրեր գրելու համար։

Պիտոն ինտերպրետերը և մեծ ստանդարտ գրադարանը կարելի է ձեռք բերել բազմաթիվ տեղերից, ներառյալ պաշտոնական կայքից՝ python.org։ Նույն կայքը ներառում է նաև մոդուլներ, ծրագրեր, գործիքներ և հավելյալ դոկումենտացիա։

Պիտոնի ինտերպրետատորը հեշտությամբ ընդլայնվում է նոր ֆունկցաիաներով և տվյալների տեսակներով, որոնք ստեղծվում են C/C++ լեզուների մակարդակում (կամ լեզուների, որոնց հնարավոր է կանչել C֊ով)։

Եթե շատ գործեր եք անում համակարգչով, վերջ ի վերջո նկատում եք գործողություններ, որոնք կարելի է ավտոմատացնել։ Օրինակ հնարավոր է ցանկանաք փնտրել և անվանափոխել մեծ քանակությամբ ֆայլեր կամ անվանափոխել ու տեղափոխել ֆոտո ֆայլեր։ Հնարավոր է ցանկանաք ստեղծել տվյալների փոքր բազա կամ հասարակ խաղ։ Եթե պրոֆեսիոնալ ծրագրավորող եք, հավանաբար ստիպված կլինեք աշխատել C/C++/Java գրադարանների հետ, ինչի ընթացքում կնկատեք, որ գրել֊կոմպիլացնել֊թեստավորել֊վերանայել շղթան չափազանց դանդաղ է։ Պիտոնը հենց այս դեպքերի համար է։

Դուք կարող էիք գրել Unix shell script, սակայն այն հարմար չէ գրաֆիկալ ինտերֆեյով ծրագրերի, խաղերի համար կամ C/C++/Java ծրագիր, դրա վրա ծախսած ժամանակն էլ շատ մեծ է։ Պիտոնը շատ ավելի պարզ է օգտագործման տեսանկյունից, հասանելի է Windows, Mac OS X, Unix օպերացիոն համակարգերի վրա և կօգնի հեշտությամբ իրագործել միտքը։

Պիտոնը հեշտ է օգտագործել, բայց այն իրական ծրագրավորման լեզու է, որն առաջարկում է շատ ավելի լավ structure և support մեծ ծրագրերի համար, քան shell script֊երը կամ batch file֊երը։ Մյուս կողմից Պիտոնն առաջարկում է շատ ավելի լավ error-checking, քան C֊ն, և, լինելով շատ high-level լեզու, այն ունի high-level տվյալների տեսակներ, ինչպիսիք են array֊ներն ու dictionary֊ները։ Հենց այս ավելի ընդհանուր տվյալների տեսակների շնորհիվ էլ Պիտոնը շատ ավելի շատ ոլորտներում է կիրառություն գտնում, քան Awk֊ը կամ Perl֊ը և չնայած դրան, շատ բաներ այնքան հեշտ են Պիտոնում, որքան նշված երկու լեզուներում։

Պիտոնը հնարավորություն է տալիս բաժանել ծրագիրը մոդուլների, որոնք կարող են օգտագործվել ուրիշ Պիտոն ծրագրերում։ Այն գալիս է ստանդարտ մոդուլների մեծ հավաքածուով։ Այս մոդուլներից մի քանիսը տալիս են file I/O, system call, socket և շատ այլ բաներ։

Պիտոնը ինտերպրետացված լեզու է, այն կոմպիլացման կարիք չունի, ինչը ծրագրի կառուցման ընթացքում հսկայական ժամանակ է խնայում։ Ինտերպրետատորը ինտերակտիվ է, ինչը հնարավորություն է տալիս փորձել լեզվի հնարավորությունները, թեստավորել ֆունկցիաներ։ Այն նաև հարմար հաշվիչ է։

Պիտոնով գրված ծրագրերը հեշտ են կարդացվում և կոմպակտ են։ Դրանք հիմնականում շատ ավելի կարճ են, քան "համարժեք" ծրագրերը C/C++/Java֊ով։ Պատճառները մի քանիսն են՝

  • high-level տվյալների տեսակները թույլ են տալիս արտահայտել բարդ օպերացիաները մեկ statement-ում
  • statement-ների խմբավորումն արվում է indentation֊ով փակագծերի փոխարեն
  • փոփոխականների կամ արգումենտների հայտարարում անհրաժեշտ չէ

Պիտոնը հնարավոր է ընդլայնել։ Եթե գիտեք C ծրագրավորման լեզուն, բավականին հեշտ է ավելացնել նոր built-in ֆունկցիա կամ մոդուլ ինտերպրետատորին կրիտիկական օպերացիաների արագությունն ավելացնելու կամ միայն բինար տեսքով հասանելի գրադարաններին հղում անելու համար։

Իմիջիայլոց, լեզվի անունը գալիս է BBC-ի "Monty Python’s Flying Circus" շոուից և ռեպտիլիաների հետ կապ չունի։

2. Using the Python Intrepeter / Պիտոնի ինտերպրետերի օգտագործումը

Պիտոնի ինտերպրետերը սովորաբար install է արվում /usr/local/bin/python3.6. Տեղադրելով /usr/local/bin֊ը Unix-ի shell֊ի որոնման path֊ում, դուք կարող եք միացնել ինտերպրետերը՝

$ python3

հրամանով։ Տպելով Control-D տերմինալում, կարող եք դուրս գալ ինտերպրետերից։ Նույն բանը կարող եք անել տպելով quit().

Ինտերպրետերն ունի ինտերակտիվ փոփոխում, պատմության պահպանում, կոդի ինքնալրացում։ Ամենաարագ միջոցը ստուգելու, թե արդյոք կարող եք այն օգտագործել տերմինալից, Control-P տպելն է Պիտոնի prompt֊ում։

Մեկ այլ միջոց ինտերպրետերը միացնելու հետևյալն է՝

$ python3 -c command [arg] ...

որն իրականացնում է command֊ի statement֊ները, shell֊ի -C դրոշակի նման։

Պիտոնի որոշ մոդուլներ օգտակար են որպես script: Սրանք կարող են գործարկվել՝

$ python3 -m module [arg] ...

հրամանով, որը module֊ի source file֊ը իրագործում է նույն կերպ, ինչ եթե դրա ամբողջական անունը գրեիք command line֊ում։ Պատահում է, որ script֊ի գործարկումից հետո անհրաժեշտ լինի մտնոե ինտերակտիվ ռեժիմ։ Դրա համար անհրաժեշտ է տալ -i դրոշակը script֊ից առաջ։

Script֊ի անունն ու լրացուցիչ արգումենտները տրվում են sys մոդուլի argv փոփոխականին որպես սթրինգ։ Դուք կարող եք ցուցակն ունենալ տպելով import sys. Ցանկի երկարությունը առնվազն մեկ է։ Երբ ոչ մի script կամ արգումենտ տրված չէ, sys.argv[0]֊ն դատարկ սթրինգ է։ Երբ օգտագործվում է -c դրոշակը, sys.argv[0]-c է։ Եթե օգտագործվում է -m մոդուլը, sys.argv[0]֊ն այդ մոդուլի ամբողջական անունն է։

Ինտերակտիվ ռեժիմի մեջ ինտերպրետերը սպասում է հաջորդ հրամաններին հիմնական prompt֊ում, որը «խորհրդանշվում» է >>> նշանով։ Հաջորդական հրամաններին սպասում է արդեն երկրորդական prompt֊ում ֊ ...։ Ինտերպրետերը տպում է ողջույնի նամակ, իր տարբերակի համարը, հեղինակային իրավունքների մասին տեղեկություն և արդեն առաջին prompt֊ը՝

$ python3
Python 3.5.2 (default, Sep 14 2016, 11:28:32) 
[GCC 6.2.1 20160901 (Red Hat 6.2.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Երկրորդական prompt֊ի օրինակ՝

$ python3
Python 3.5.2 (default, Sep 14 2016, 11:28:32) 
[GCC 6.2.1 20160901 (Red Hat 6.2.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> if (2 > 1):
...     print('yadda yadda')
... 
yadda yadda

For loops

կրկնում է կոդը մինչև որոշակի պայմանի առկայություն կամ կրկնում է կոդը տրված ցուցակի անդամների համար

Functions

def speak(word):
	new_version = word.upper()
	print(new_version)
	return new_version

	word արգումենտը վերածում մեծատառի, տպում է այն և վերադարձնում կանչող կոդին

File handling

with open('some_file', 'w+') as f:
  f.write("Written some data")