Python միջին մակարդակ

✨ Մակարդակ

🕗 Տևողություն

💻 Գործնական աշխատանք

Միջին

6-8 ամիս

300+ վարժություններ

Բարի գալուստ Python-ի միջին մակարդակի դասընթաց: Այս դասընթացի շնորհիվ դուք կհարստացնեք ձեր գիտելիքները՝ ավելի խորությամբ ուսումնասիրելով Python ծրագրավորման լեզվի հնարավորությունները և դրա գործնական կիրառումը: Դասընթացը նախատեսված է նրանց համար, ովքեր արդեն որոշակի չափով ծանոթ են Python ծրագրավորման լեզվին, սակայն ցանկանում են բարելավել իրենց գիտելիքները և յուրացնել ավելի բարդ թեմաներ:

1200px-Python-logo-notext.svg.png

Դասընթացի ավարտին կիմանաք, թե ինչպես օգտագործել դասերը (class-ները), և կհասկանաք՝ ինչ է ժառանգականությունը (inheritance-ը): Մենք կսովորենք կոդ գրել ավելի մեծ պրոյեկտների համար և կօգտագործենք մուտքագրում (typing), որն օգնում է ստատիկորեն վերլուծելու կոդը՝ սխալներ հայտնաբերելու նպատակով: Դուք կաշխատեք դեկորատորների հետ և կստեղծեք ձեր սեփական դեկորատորները, որոնք օգտակար են՝ կոդի ծավալը զգալիորեն նվազեցնելու համար։ Մենք կքննարկենք iterator-ները և iterable-ները՝ itertools ստանդարտ գրադարանի հետ միասին: glob-ը և pathlib-ը կօգտագործվեն ֆայլերի հետ աշխատելու համար: Եվ, ամենակարևորը, մենք կսովորենք, թե ինչպես օգտագործել async / await-ը մեր կոդն օպտիմալացնելու համար, երբ աշխատում ենք մեծ I/O-ի, տվյալների բազաների (շտեմարանների) և ցանցային հարցումների հետ:

💻 Սովորի՛ր անելով

Այս դասընթացում դուք սովորում եք՝ գործնական աշխատանքներ կատարելով: Յուրաքանչյուր թեմա ունի մի քանի ինտերակտիվ վարժություններ, որոնք լուծելուց հետո միայն կարող եք անցնել հաջորդին: Մենք վստահ ենք, որ գործնական ուսուցումը գիտելիքը խորությամբ յուրացնելու լավագույն միջոցն է: Այստեղ կգտնեք բարդ, բայց միևնույն ժամանակ հետաքրքիր վարժություններ, որոնք կօգնեն սովորել յուրաքանչյուր թեման:

Դուք եք ընտրում՝ ինչ արագությամբ սովորել նյութը։ Կարող եք մեծ ջանք ներդնել և մեկ շաբաթվա ընթացքում ավարտել մակարդակներից մի քանիսը կամ դանդաղ առաջ գնալ և ավելի երկար կենտրոնանալ յուրաքանչյուր թեմայի վրա:

Յուրաքանչյուր դասից հետո ներառված է քննարկման հարթակ (ֆորում), որտեղ կարող եք հարցեր տալ, եթե որևէ առաջադրանք չեք կարողանում հաղթահարել: Կարող եք թե՛ հարցեր տալ, թե՛ պատասխանել ուրիշների հարցերին:

🎓 Ուսումնական պլան

Այս դասընթացում ներկայացված են Python-ի հիմնական հասկացությունները և որոշ բարդ թեմաներ, որոնցից յուրաքանչյուրը բացատրված է պարզ և մատչելի ձևով: Գործընթացն ավելի հաճելի և գրավիչ դարձնելու համար հասկացությունները դասավորված են ըստ մակարդակների, և եթե հաղթահարում եք տվյալ մակարդակը, նշանակում է՝ յուրացրել եք նոր թեման: Ստորև ներկայացնում ենք այն հիմնական թեմաները, որոնց մենք կանդրադառնանք սույն դասընթացքում․

Ընդլայնված ֆունկցիաներ
  • Միայն տեղային և միայն keyword արգումենտներ

  • Ռեկուրսիա

  • Pass by value VS pass by reference (mutable arguments)

Regular expressions
  • Basics and applications of regular expressions

  • Searching and matching

Class-ներ (Դասեր)
  • Class-ների սահմանում

  • Setting and accessing attributes

  • __init__ կոնստրուկտորը

  • Class-ների ներսում մեթոդների սահմանում

  • Կախարդական մեթոդներ

Ժառանգականություն
  • Ինչպես ժառանգել հիմնական class-ից

  • Modifying the functionality by overriding a method

  • Ընդլայնել ֆունկցիոնալությունը super()-ի օգնությամբ

  • Ինչպես ժառանգել մի քանի հիմնական class-ներից

Encapsulation
  • Private փոփոխականներ

  • Protected փոփոխականներ

  • Ինչպես է Python-ն իրականում աշխատում private և protected փոփոխականների հետ

Բացառություններ
  • raise և except

  • Բացառության հիերարխիա

  • Սեփական բացառությունների ստեղծում

Մոդուլներ
  • Աշխատանք գրադարանների հետ

  • Մոդուլներ ֆայլային համակարգում

  • Module-ի սկզբնավորում (initialization)

  • Ինչպես ներմուծել variable-ներ, function-ներ և class-ներ

Ֆայլային համակարգ
  • glob ֆայլերի հավաքածուների հետ աշխատելու համար

  • pathlib կոնկրետ ֆայլերի հետ աշխատելու համար

  • Ֆայլերի հեռացում

  • Ռեկուրսիվ կերպով ամբողջ գրացուցակի ստեղծում/ջնջում

Class-ներ 2
  • Class-ների փոփոխականներ և օբյեկտների փոփոխականներ

  • Ներկառուցված դեկորատորներ (@dataclass, @property, @staticmethod...)

  • Աբստրակտ class-ներ (ABC մոդուլ)

Դեկորատորներ
  • Դեկորատորներ՝ ֆունկցիաների համար

  • Դեկորատորներ՝ կլասերի համար

  • Սեփական դեկորատորների ստեղծում

Տիպեր
  • Ներկառուցված տիպեր (int, list, dict և այլն)

  • Class-ների տիպավորում

  • Տիպավորում class-ների մեջ

  • Ստատիկ անալիզ - ի՞նչ կարող ենք ստանալ և ի՞նչ սահմանափակումներ կան

Iterator-ներ և Iterable-ներ
  • Iterator-ներ

  • Generator-ներ

  • Iterable-ներ

  • itertools - cycle(), repeat(), chain(), …

  • Սեփական generator-ների ստեղծում

  • Սեփական iterable-ների ստեղծում

Context managers
  • Implementing a custom context manager

  • Using with syntax

  • Context managers as decorators

Multithreading and Multiprocessing
  • the threading package

  • Creating a custom thread class

  • the multiprocessing package

  • Processing in pools

  • Sharing data between threads and processes

asyncio
  • async և await սինտաքսը ֆունկցիաների համար

  • Ֆայլերի հետ աշխատանք

  • Ցանցային հարցումների հետ աշխատանք

  • Query SQLAlchemy միջոցով

  • asyncio vs thread-ներ և process-ներ

Ամփոփում և նախագծեր
  • Մի քանի վերահսկվող նախագծեր կամփոփեն ամբողջ նյութը:

  • Սա կներառի համացանցում որոնողական աշխատանքի կատարում և ինքնուրույն ուսումնասիրություն:

  • Դուք կավտոմատացնեք որոշ առաջադրանքներ և կսովորեք որոշ օգտակար գրադարաններ

🚀 Բարի գալուստ

Սովորելը 80%-ով անհատական աշխատանք է։ Դասընթացն ավարտելը ձեր իսկ ձեռքբերումը կլինի, իսկ մենք ուրախ կլինենք ուղեկցել ձեզ այդ ընթացքում։