Перейти к основному содержимому

Python — чек-лист

Разработчику Архитектору
Загрузка вопросов…

Чек-лист самопроверки

  1. Что такое Python и для каких задач он предназначен?
  2. Какие версии Python существуют и чем отличается Python 2 от Python 3?
  3. Как устанавливается Python и как проверить его версию в терминале?
  4. Что такое интерпретатор Python и как он работает?
  5. Как запустить скрипт на Python из командной строки?
  6. Что такое REPL и как его использовать?
  7. Какие есть способы комментирования кода в Python?
  8. Как объявляются переменные и какие соглашения по именованию приняты (snake_case)?
  9. Какие примитивные типы данных есть в Python?
  10. В чём разница между изменяемыми и неизменяемыми объектами?
  11. Как работают ссылки и присваивание в Python?
  12. Что такое динамическая типизация и как она проявляется?
  13. Какие операторы сравнения и логические операторы поддерживаются?
  14. Как работает условный оператор if/elif/else?
  15. Какие циклы есть в Python и чем for отличается от while?
  16. Что делает ключевое слово break, continue, else в циклах?
  17. Как объявляется функция и что такое параметры по умолчанию?
  18. Что такое *args и **kwargs?
  19. Как возвращается значение из функции и что происходит при отсутствии return?
  20. Что такое локальная и глобальная область видимости?
  21. Как работает ключевое слово global и nonlocal?
  22. Что такое лямбда-функции и где они применяются?
  23. Какие встроенные функции наиболее часто используются (len, range, map, filter, zip, enumerate)?
  24. Что такое списковые, словарные и генераторные выражения?
  25. Как работают исключения и как их обрабатывать (try/except/finally)?
  26. Как создавать собственные исключения?
  27. Что такое модуль и как его импортировать?
  28. В чём разница между import module, from module import name, import module as alias?
  29. Что такое пакет и как организована структура пакета?
  30. Что делает if __name__ == "__main__": и чем прямой запуск отличается от import? (if name == "main" — точка входа при запуске файла)
  31. Как создаётся и используется виртуальное окружение?
  32. Что такое pip и как управлять зависимостями проекта?
  33. Как работает файл requirements.txt?
  34. Что такое класс и как создаются объекты в Python?
  35. Какие есть специальные методы (__init__, __str__, __repr__, __eq__)?
  36. Что такое наследование и как оно реализуется?
  37. Как работает множественное наследование и порядок разрешения методов (MRO)?
  38. Что такое композиция и когда её стоит использовать вместо наследования?
  39. Что такое свойства (@property) и декораторы методов (@staticmethod, @classmethod)?
  40. Как работают контекстные менеджеры и зачем нужен with?
  41. Что такое генераторы и как они отличаются от обычных функций?
  42. Как использовать yield и зачем нужны генераторные выражения?
  43. Что такое декораторы и как писать свои?
  44. Как работает модуль typing и зачем нужна аннотация типов?
  45. Какие коллекции есть в стандартной библиотеке (list, tuple, set, dict, deque, defaultdict, Counter)?
  46. Как работает работа с файлами (open, режимы 'r', 'w', 'a', 'b', 't')?
  47. Что такое сериализация и как использовать json, pickle?
  48. Как работает многопоточность и многопроцессность в Python?
  49. Что такое GIL и как он влияет на производительность?
  50. Как реализуется асинхронное программирование (async/await, asyncio)?
  51. Какие инструменты используются для тестирования кода на Python (unittest, pytest, doctests)?

Веб и фреймворки

  1. Зачем Flask, Django, FastAPI? (Первая программа на Flask, Первая программа на Django, Первая программа на FastAPI)
  2. Чем HTML-шаблон отличается от JSON API?
  3. Что такое ORM и миграции?
  4. Зачем pytest и TestClient? (Тестирование на pytest)
  5. JWT в FastAPI — зачем Authorization: Bearer? (Первая программа на FastAPI)

Async и GUI

  1. async/await и asyncio?
  2. GIL — что ограничивает потоки?
  3. Tkinter — зачем mainloop? (Первая программа на Tkinter)
  4. Готовые примеры окон и виджетов? (Lab — 1124)

NumPy и данные

  1. Чем list отличается от numpy.ndarray? (337 — NumPy)
  2. Что делает np.dot для двух одномерных векторов?
  3. Зачем Pandas, если есть NumPy? (33 — анализ данных)

intro · Итоги