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

  1. Python nima? — tarix, nima uchun mashhur, o'rnatish, birinchi kod
  2. O'zgaruvchilar — nom qoidalari, dinamik tipizatsiya, type()
  3. Ma'lumot turlari — int, float, str, bool, None va tur o'zgartirish
  4. Operatorlar — arifmetik, taqqoslash, mantiqiy, is, in
  5. input() va print() — f-string, format(), sep, end
  6. Shartlar — if, elif, else, ternary expression
  7. for sikli — range(), enumerate(), zip(), break, continue
  8. while sikli — qachon for emas, cheksiz loop, break, else

Ma'lumot turlari — chuqurroq

  1. String — slicing, immutability, split, join, strip, replace, find (tez kunda)
  2. List — yaratish, indeks, append, extend, pop, sort, reverse (tez kunda)
  3. List — slicing, nusxa (copy, deepcopy), reference muammosi (tez kunda)
  4. Tuple — immutability, nima uchun list emas, packing/unpacking (tez kunda)
  5. Dictionary — yaratish, get, update, items, nested dict (tez kunda)
  6. Set — union, intersection, difference, frozenset (tez kunda)
  7. List comprehension — oddiy va shartli (tez kunda)
  8. Dict va Set comprehension, generator expression (tez kunda)

Funksiyalar

  1. Funksiya asoslari — def, return, docstring, None qaytarish (tez kunda)
  2. Default parametrlar, keyword arguments, pozitsion argumentlar (tez kunda)
  3. *args va **kwargs — nima, qachon, qanday ishlatiladi (tez kunda)
  4. Lambda funksiyalar — qachon ishlatish, qachon ishlatmaslik (tez kunda)
  5. Scope — LEGB qoidasi, global, nonlocal (tez kunda)
  6. Rekursiya — chiqish sharti, call stack, memoization (tez kunda)
  7. Dekoratorlar — nima, qanday ishlaydi, @wraps (tez kunda)

OOP — Ob'ektga yo'naltirilgan dasturlash

  1. Class va ob'ekt — nima uchun OOP, __init__, self, atributlar (tez kunda)
  2. Metodlar — instance, @classmethod, @staticmethod, farqlari (tez kunda)
  3. Meros — inheritance, super(), method overriding (tez kunda)
  4. Ko'p meros — MRO (Method Resolution Order), diamond muammosi (tez kunda)
  5. Encapsulation — _private, __mangling, @property, setter (tez kunda)
  6. Dunder metodlar — __str__, __repr__, __len__, __eq__, __add__ (tez kunda)
  7. Abstract class — ABC, @abstractmethod (tez kunda)

Xatolar va Fayl I/O

  1. Xatolarni boshqarish — try, except, else, finally (tez kunda)
  2. Custom exception — raise, exception ierarxiyasi (tez kunda)
  3. Fayllar — open(), rejimlar (r/w/a/rb), with statement (tez kunda)
  4. JSON — loads, dumps, load, dump — fayl va string bilan ishlash (tez kunda)
  5. CSV — csv.reader, DictReader, writer, DictWriter (tez kunda)
  6. Context manager — __enter__, __exit__, contextlib (tez kunda)

Modullar va Standart kutubxona

  1. Modullar — import, from import, __name__, paketlar (tez kunda)
  2. pip va virtual environment — venv, requirements.txt (tez kunda)
  3. os va pathlib — fayl tizimi, yo'llar, papka operatsiyalari (tez kunda)
  4. sys — sys.argv, sys.path, sys.exit() (tez kunda)
  5. datetime — date, time, datetime, timedelta, strftime (tez kunda)
  6. math, random, statistics — asosiy funksiyalar (tez kunda)
  7. collections — Counter, defaultdict, deque, namedtuple (tez kunda)
  8. re — regular expressions, match, search, findall, sub, groups (tez kunda)

Ilg'or mavzular

  1. Generator va yield — lazy evaluation, xotira tejash (tez kunda)
  2. itertools — chain, combinations, permutations, product, islice (tez kunda)
  3. functools — partial, reduce, lru_cache (tez kunda)
  4. Type hints — list[int], Optional, Union, dict[str, int], TypeVar (tez kunda)
  5. Dataclasses — @dataclass, field, frozen, __post_init__ (tez kunda)
  6. logging — level, handler, formatter, haqiqiy loyihada qanday ishlatiladi (tez kunda)