Python kursi
Eng oson o'rganiladigan til. Skript, avtomatlashtirish, data science va backend uchun.
Boshlang'ich · 50 ta dars · ~2.5 oy
Mavzular: Asosiy turlar, Ro'yxat va lug'at, Funksiyalar, OOP, Modullar, Fayl I/O, Xatolarni boshqarish, Dekoratorlar, Generator, Standart kutubxona
Kirish va Asoslar
- Python nima? — tarix, nima uchun mashhur, o'rnatish, birinchi kod
- O'zgaruvchilar — nom qoidalari, dinamik tipizatsiya, type()
- Ma'lumot turlari — int, float, str, bool, None va tur o'zgartirish
- Operatorlar — arifmetik, taqqoslash, mantiqiy, is, in
- input() va print() — f-string, format(), sep, end
- Shartlar — if, elif, else, ternary expression
- for sikli — range(), enumerate(), zip(), break, continue
- while sikli — qachon for emas, cheksiz loop, break, else
Ma'lumot turlari — chuqurroq
- String — slicing, immutability, split, join, strip, replace, find (tez kunda)
- List — yaratish, indeks, append, extend, pop, sort, reverse (tez kunda)
- List — slicing, nusxa (copy, deepcopy), reference muammosi (tez kunda)
- Tuple — immutability, nima uchun list emas, packing/unpacking (tez kunda)
- Dictionary — yaratish, get, update, items, nested dict (tez kunda)
- Set — union, intersection, difference, frozenset (tez kunda)
- List comprehension — oddiy va shartli (tez kunda)
- Dict va Set comprehension, generator expression (tez kunda)
Funksiyalar
- Funksiya asoslari — def, return, docstring, None qaytarish (tez kunda)
- Default parametrlar, keyword arguments, pozitsion argumentlar (tez kunda)
- *args va **kwargs — nima, qachon, qanday ishlatiladi (tez kunda)
- Lambda funksiyalar — qachon ishlatish, qachon ishlatmaslik (tez kunda)
- Scope — LEGB qoidasi, global, nonlocal (tez kunda)
- Rekursiya — chiqish sharti, call stack, memoization (tez kunda)
- Dekoratorlar — nima, qanday ishlaydi, @wraps (tez kunda)
OOP — Ob'ektga yo'naltirilgan dasturlash
- Class va ob'ekt — nima uchun OOP, __init__, self, atributlar (tez kunda)
- Metodlar — instance, @classmethod, @staticmethod, farqlari (tez kunda)
- Meros — inheritance, super(), method overriding (tez kunda)
- Ko'p meros — MRO (Method Resolution Order), diamond muammosi (tez kunda)
- Encapsulation — _private, __mangling, @property, setter (tez kunda)
- Dunder metodlar — __str__, __repr__, __len__, __eq__, __add__ (tez kunda)
- Abstract class — ABC, @abstractmethod (tez kunda)
Xatolar va Fayl I/O
- Xatolarni boshqarish — try, except, else, finally (tez kunda)
- Custom exception — raise, exception ierarxiyasi (tez kunda)
- Fayllar — open(), rejimlar (r/w/a/rb), with statement (tez kunda)
- JSON — loads, dumps, load, dump — fayl va string bilan ishlash (tez kunda)
- CSV — csv.reader, DictReader, writer, DictWriter (tez kunda)
- Context manager — __enter__, __exit__, contextlib (tez kunda)
Modullar va Standart kutubxona
- Modullar — import, from import, __name__, paketlar (tez kunda)
- pip va virtual environment — venv, requirements.txt (tez kunda)
- os va pathlib — fayl tizimi, yo'llar, papka operatsiyalari (tez kunda)
- sys — sys.argv, sys.path, sys.exit() (tez kunda)
- datetime — date, time, datetime, timedelta, strftime (tez kunda)
- math, random, statistics — asosiy funksiyalar (tez kunda)
- collections — Counter, defaultdict, deque, namedtuple (tez kunda)
- re — regular expressions, match, search, findall, sub, groups (tez kunda)
Ilg'or mavzular
- Generator va yield — lazy evaluation, xotira tejash (tez kunda)
- itertools — chain, combinations, permutations, product, islice (tez kunda)
- functools — partial, reduce, lru_cache (tez kunda)
- Type hints — list[int], Optional, Union, dict[str, int], TypeVar (tez kunda)
- Dataclasses — @dataclass, field, frozen, __post_init__ (tez kunda)
- logging — level, handler, formatter, haqiqiy loyihada qanday ishlatiladi (tez kunda)