Python-ի դասընթաց․ միջին մակարդակ

✨ Մակարդակ
🕗 Տևողություն
💻 Գործնական աշխատանք
Միջին
6-8 ամիս
300+ վարժություններ
Բարի գալուստ Python-ի միջին մակարդակի դասընթաց: Այս դասընթացի շնորհիվ դուք կհարստացնեք ձեր գիտելիքները՝ ավելի խորությամբ ուսումնասիրելով Python ծրագրավորման լեզվի հնարավորությունները և դրա գործնական կիրառումը: Դասընթացը նախատեսված է նրանց համար, ովքեր արդեն որոշակի չափով ծանոթ են Python ծրագրավորման լեզվին, սակայն ցանկանում են բարելավել իրենց գիտելիքները և յուրացնել ավելի բարդ թեմաներ:
 
notion image
Դասընթացի ավարտին կիմանաք, թե ինչպես օգտագործել դասերը (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%-ով անհատական աշխատանք է։ Դասընթացն ավարտելը ձեր իսկ ձեռքբերումը կլինի, իսկ մենք ուրախ կլինենք ուղեկցել ձեզ այդ ընթացքում։