1. Урок 1.00:04:01
    Почему Python?
  2. Урок 2.00:07:04
    Python с технической точки зрения
  3. Урок 3.00:02:41
    Python 2 vs Python 3
  4. Урок 4.00:03:11
    Стандартная библиотека
  5. Урок 5.00:04:20
    Редакторы кода для Python
  6. Урок 6.00:03:43
    Инсталлируем дистрибутив Anaconda
  7. Урок 7.00:08:16
    Введение в Anaconda
  8. Урок 8.00:03:28
    Jupyter Notebook не запускается через Anaconda Navigator?
  9. Урок 9.00:07:07
    Обзор основных типов данных
  10. Урок 10.00:07:35
    Числа и элементарная математика
  11. Урок 11.00:05:57
    Переменные
  12. Урок 12.00:07:01
    bool и None
  13. Урок 13.00:20:36
    Тип string
  14. Урок 14.00:23:23
    Функции string
  15. Урок 15.00:09:20
    Форматирование строк
  16. Урок 16.00:12:37
    Операторы сравнения
  17. Урок 17.00:22:50
    Операции над файлами
  18. Урок 18.00:17:35
    Строки и байты: str, bytes, bytearray
  19. Урок 19.00:10:23
    Решение ДЗ 1-3
  20. Урок 20.00:10:31
    ДЗ: Основы - Решение
  21. Урок 21.00:15:29
    list - список
  22. Урок 22.00:16:51
    dict - словарь
  23. Урок 23.00:08:09
    OrderedDict vs dict
  24. Урок 24.00:05:48
    tuple - кортеж
  25. Урок 25.00:07:24
    namedtuple - именованные кортежи
  26. Урок 26.00:07:55
    Логика с условиями
  27. Урок 27.00:17:39
    set - множество
  28. Урок 28.00:17:04
    Цикл for
  29. Урок 29.00:17:11
    list comprehension
  30. Урок 30.00:07:00
    Цикл while, continue, break
  31. Урок 31.00:04:31
    Циклы. ДЗ-1-2. Решение
  32. Урок 32.00:16:37
    Циклы. ДЗ 3-5. Решение
  33. Урок 33.00:15:23
    Циклы. ДЗ-6-Флеш. Решение
  34. Урок 34.00:05:48
    Циклы. ДЗ 7 - Палиндром. Решение
  35. Урок 35.00:07:22
    Решение ДЗ: пишем игру "угадай число"
  36. Урок 36.00:09:14
    Решение ДЗ "Камень-ножницы-бумага"
  37. Урок 37.00:04:04
    Помощь по функциям
  38. Урок 38.00:21:18
    Встроенные функции
  39. Урок 39.00:20:13
    Основы функций
  40. Урок 40.00:15:19
    Лямбды
  41. Урок 41.00:11:56
    Вложенные функции и область видимости переменных
  42. Урок 42.00:16:07
    Декораторы
  43. Урок 43.00:06:09
    Декоратор @wraps
  44. Урок 44.00:17:34
    Решения ДЗ по функциям
  45. Урок 45.00:12:30
    Решение ДЗ: пишем игру в палочки
  46. Урок 46.00:22:38
    Основы обработки ошибок
  47. Урок 47.00:11:47
    Выброс исключений. Кастомные типы исключений.
  48. Урок 48.00:09:41
    Основы юнит-тестирования
  49. Урок 49.00:11:30
    Основы классов
  50. Урок 50.00:07:20
    Атрибуты и методы
  51. Урок 51.00:22:43
    Константы. Защищённые и приватные атрибуты. Свойства.
  52. Урок 52.00:22:05
    Статические методы - @staticmethod, @classmethod
  53. Урок 53.00:15:45
    Наследование и полиморфизм
  54. Урок 54.00:17:23
    Множественное наследование
  55. Урок 55.00:11:13
    Миксины
  56. Урок 56.00:10:39
    Абстрактный класс и модуль ABC
  57. Урок 57.00:04:42
    Магические методы
  58. Урок 58.00:14:12
    ДЗ: 1-3 Решения
  59. Урок 59.00:19:00
    ДЗ: 4-6. Решения
  60. Урок 60.00:12:17
    Решение ДЗ: реализуем крестики-нолики
  61. Урок 61.00:04:09
    PyPi и Pip
  62. Урок 62.00:12:08
    Модули и пакеты
  63. Урок 63.00:06:11
    Ещё раз о __name__ и __main__
  64. Урок 64.00:07:03
    Отладка
  65. Урок 65.00:09:00
    Реализуем Stack
  66. Урок 66.00:19:45
    datetime - даты и время
  67. Урок 67.00:12:06
    Singleton Design Pattern: __new__ и __init__
  68. Урок 68.00:10:32
    Pickle - консервирование
  69. Урок 69.00:16:05
    repr and str, eq and ne, eval
  70. Урок 70.00:18:58
    Deep copy vs Shallow copy
  71. Урок 71.00:11:45
    Enum - перечисления
  72. Урок 72.00:27:28
    Работаем с JSON
  73. Урок 73.00:17:21
    Генераторы
  74. Урок 74.00:43:46
    Модуль itertools
  75. Урок 75.00:10:20
    Интроспекция
  76. Урок 76.00:25:24
    Модуль requests
  77. Урок 77.00:11:36
    Управление памятью
  78. Урок 78.00:12:48
    Введение в Линтеры
  79. Урок 79.00:04:28
    Установка "системного" Python
  80. Урок 80.00:11:33
    Виртуальное окружение
  81. Урок 81.00:08:15
    Установка PyCharm
  82. Урок 82.00:04:35
    Создаём проект в PyCharm
  83. Урок 83.00:14:05
    Refactoring, Quick Fixes, Debugging в PyCharm
  84. Урок 84.00:18:31
    Type Hints
  85. Урок 85.00:06:43
    Введение в dataclasses
  86. Урок 86.00:12:57
    Обзор нововведений
  87. Урок 87.00:01:21
    Устанавливаем Python 3.8 и создаём проект
  88. Урок 88.00:10:08
    Walrus-оператор
  89. Урок 89.00:16:29
    Навязывание позиционных аргументов
  90. Урок 90.00:21:43
    Улучшения в системе type hints
  91. Урок 91.00:08:30
    Перегрузка с @overload
  92. Урок 92.00:08:05
    Duck Typing и протоколы
  93. Урок 93.00:05:24
    Упрощённый вывод значений в интерполированных строках
  94. Урок 94.00:17:15
    ДЗ: 1-4 Решения
  95. Урок 95.00:14:27
    ДЗ-5: Решение
  96. Урок 96.00:07:22
    Решение ДЗ: парсим римские числа
  97. Урок 97.00:32:32
    Решение ДЗ - Виселица
  98. Урок 98.00:30:54
    Решение ДЗ: верю-не-верю
  99. Урок 99.00:08:32
    Терминология
  100. Урок 100.00:13:38
    Процессы и потоки
  101. Урок 101.00:06:24
    Виды процессинга
  102. Урок 102.00:07:57
    GIL
  103. Урок 103.00:15:05
    Однопоточность. Демо проблемы
  104. Урок 104.00:16:03
    Foreground & Background потоки
  105. Урок 105.00:14:34
    "Параллельное" исполнение против последовательного
  106. Урок 106.00:11:45
    Executor API
  107. Урок 107.00:14:19
    submit-демо
  108. Урок 108.00:07:37
    map-демо
  109. Урок 109.00:09:32
    Синхронизация потоков
  110. Урок 110.00:13:21
    Гонка и Lock
  111. Урок 111.00:08:17
    Deadlock
  112. Урок 112.00:16:43
    Демо дэдлока
  113. Урок 113.00:05:48
    Синхронизация сигналами
  114. Урок 114.00:28:46
    Применяем Event
  115. Урок 115.00:15:01
    Семафор
  116. Урок 116.00:06:05
    Моделируем ночной клуб семафором
  117. Урок 117.00:12:45
    Барьер
  118. Урок 118.00:09:32
    Атомические операции
  119. Урок 119.00:08:43
    Отмена потоков
  120. Урок 120.00:04:24
    Отмена убийством процесса
  121. Урок 121.00:12:47
    Базовая отмена с флагом
  122. Урок 122.00:11:22
    Имплементируем отмену через Unit of Work-паттерн
  123. Урок 123.00:06:25
    Подытоги
  124. Урок 124.00:08:37
    Обработка исключений
  125. Урок 125.00:21:47
    Обработка исключений - Демо
  126. Урок 126.00:09:45
    Введение в asyncio
  127. Урок 127.00:13:35
    Простейший пример с asyncio
  128. Урок 128.00:08:18
    Event Loop. Введение
  129. Урок 129.00:10:01
    Event Loop. Демо
  130. Урок 130.00:16:47
    Демо с aiohttp
  131. Урок 131.00:06:40
    Демо с aiofiles
  132. Урок 132.00:18:44
    Futures & Tasks
  133. Урок 133.00:23:55
    Task API - Демо
  134. Урок 134.00:08:12
    Обёртываем Thread через Future
  135. Урок 135.00:15:02
    async for
  136. Урок 136.00:05:54
    Обработка исключений
  137. Урок 137.00:26:51
    Обработка исключений - Демо
  138. Урок 138.00:06:52
    Отмена. Введение
  139. Урок 139.00:22:48
    Отмена с gather
  140. Урок 140.00:22:48
    Отмена с wait. Кооперативная отмена
  141. Урок 141.00:12:44
    async IO vs sync IO
  142. Урок 142.00:17:32
    Основные концепции
  143. Урок 143.00:13:31
    Реляционная модель и SQL
  144. Урок 144.00:05:12
    Почему PostgreSQL
  145. Урок 145.00:06:35
    Инсталируем PostgreSQL
  146. Урок 146.00:14:28
    Типы данных в PostgreSQL
  147. Урок 147.00:07:35
    Создание БД
  148. Урок 148.00:11:40
    Создание таблиц
  149. Урок 149.00:19:16
    Отношение "один ко многим"
  150. Урок 150.00:09:28
    Отношение "один к одному"
  151. Урок 151.00:14:27
    Отношение "многие ко многим"
  152. Урок 152.00:07:19
    Создаём Northwind
  153. Урок 153.00:07:07
    Полная выборка
  154. Урок 154.00:03:24
    Выборка и элементарные арифметические операции
  155. Урок 155.00:04:59
    DISTINCT
  156. Урок 156.00:04:58
    COUNT
  157. Урок 157.00:05:14
    ДЗ "простые выборки" - Решение
  158. Урок 158.00:05:44
    WHERE
  159. Урок 159.00:07:43
    AND, OR
  160. Урок 160.00:06:08
    BETWEEN
  161. Урок 161.00:02:16
    IN & NOT IN
  162. Урок 162.00:03:02
    ORDER BY
  163. Урок 163.00:04:35
    MIN, MAX, AVG
  164. Урок 164.00:04:54
    ДЗ "простые выборки-2" - Решение
  165. Урок 165.00:11:12
    LIKE
  166. Урок 166.00:09:50
    LIMIT
  167. Урок 167.00:04:22
    Check on NULL
  168. Урок 168.00:05:17
    GROUP BY
  169. Урок 169.00:11:00
    HAVING
  170. Урок 170.00:10:39
    UNION, INTERSECT, EXCEPT
  171. Урок 171.00:05:32
    ДЗ "группировка, сопоставление, сортировка" - Решение
  172. Урок 172.00:12:26
    Знакомство с соединениями
  173. Урок 173.00:16:49
    INNER JOIN
  174. Урок 174.00:10:18
    LEFT, RIGHT JOIN
  175. Урок 175.00:07:41
    SELF JOIN
  176. Урок 176.00:04:32
    USING & NATURAL JOIN
  177. Урок 177.00:06:05
    AS - псевдонимы
  178. Урок 178.00:09:33
    ДЗ "JOINS" - Решение
  179. Урок 179.00:14:05
    Введение в подзапросы
  180. Урок 180.00:08:21
    WHERE EXISTS
  181. Урок 181.00:12:15
    Подзапросы с квантификаторами ANY, ALL
  182. Урок 182.00:12:22
    ДЗ "Подзапросы" - Решение
  183. Урок 183.00:21:04
    Управляем таблицами
  184. Урок 184.00:07:02
    ДЗ 1 по DDL - Решение
  185. Урок 185.00:12:03
    Primary Key
  186. Урок 186.00:07:46
    Foreign Key
  187. Урок 187.00:03:57
    Check
  188. Урок 188.00:05:24
    Default
  189. Урок 189.00:08:26
    Sequences
  190. Урок 190.00:15:21
    Sequences & Tables
  191. Урок 191.00:06:26
    INSERT
  192. Урок 192.00:09:03
    UPDATE, DELETE, RETURNING
  193. Урок 193.00:13:58
    ДЗ 2 по DDL - Решение
  194. Урок 194.00:08:41
    Введение
  195. Урок 195.00:46:10
    psycopg2
  196. Урок 196.00:24:47
    ORM и SQLAlchemy