📌 Класс TopologicalSorter(), модуль graphlib в Python
• Модуль graphlib определяет класс, реализующий функциональные возможности для топологической сортировки хэшируемых узлов графа (древовидной структуры).
Синтаксис (код на картинке).
📕 Документация
#урок
• Модуль graphlib определяет класс, реализующий функциональные возможности для топологической сортировки хэшируемых узлов графа (древовидной структуры).
Синтаксис (код на картинке).
📕 Документация
#урок
🧩 httpx vs. requests vs. aiohttp: кто лучше?
• Разобрали на примере, какая из библиотек справляется лучше и как асинхронность влияет на скорость исполнения массовых запросов.
🧷 Читать статью
#Статья
• Разобрали на примере, какая из библиотек справляется лучше и как асинхронность влияет на скорость исполнения массовых запросов.
🧷 Читать статью
#Статья
Управление памятью в Python
• В этом видео автор постарается максимально просто объяснить, как работает управление памятью (memory management) в Python. Ну и конечно без схем не обошлось)
🧷 Смотреть видео
#Видео
• В этом видео автор постарается максимально просто объяснить, как работает управление памятью (memory management) в Python. Ну и конечно без схем не обошлось)
🧷 Смотреть видео
#Видео
🔖 Шпаргалка по регулярным выражениям
Регулярные выражения - это шаблоны, используемые для сопоставления комбинаций символов в строках. Они удобны в языке программирования Python для поиска и даже замены указанного текстового шаблона.
#Шпаргалка
Регулярные выражения - это шаблоны, используемые для сопоставления комбинаций символов в строках. Они удобны в языке программирования Python для поиска и даже замены указанного текстового шаблона.
#Шпаргалка
🧩 Способы «выстрелить себе в ногу» в Python
• И остаться при всех конечностях. Разобрали шесть типичных ошибок новичков с примерами кода и нашли решение каждой.
🧷 Читать статью
#Статья
• И остаться при всех конечностях. Разобрали шесть типичных ошибок новичков с примерами кода и нашли решение каждой.
🧷 Читать статью
#Статья
📌 Модуль html.parser в Python
• Модуль html.parser определяет класс HTMLParser, который служит основой для парсинга файлов, отформатированных в HTML (HyperText Mark-up Language) и XHTML.
Базовый пример синтаксического анализа HTML (код на картинке).
📕 Документация
#урок
• Модуль html.parser определяет класс HTMLParser, который служит основой для парсинга файлов, отформатированных в HTML (HyperText Mark-up Language) и XHTML.
Базовый пример синтаксического анализа HTML (код на картинке).
📕 Документация
#урок
🔖 Шпаргалка по синтаксису в Python
Это набор правил, определяющих, как программа на Python будет написана и интерпретирована (как системой выполнения, так и людьми-читателями).
#Шпаргалка
Это набор правил, определяющих, как программа на Python будет написана и интерпретирована (как системой выполнения, так и людьми-читателями).
#Шпаргалка
🧩 3 простых способа ускорить код на Python
• Если вы разрабатываете на Python, наверняка задумывались о том, как ускорить код. В статье разбираем три способа, которые помогут в этом.
🧷 Читать статью
#Статья
• Если вы разрабатываете на Python, наверняка задумывались о том, как ускорить код. В статье разбираем три способа, которые помогут в этом.
🧷 Читать статью
#Статья
Сборка мусора (garbage collection) в Python
• Сборка мусора это важная часть любого языка с автоматическим управлением памяти, и в python она очень типичная. Разобравшись с Python, вы будете иметь хорошее представление о том, как такие алгоритмы вообще работают, и как их можно модифицировать.
🧷 Смотреть видео
#Видео
• Сборка мусора это важная часть любого языка с автоматическим управлением памяти, и в python она очень типичная. Разобравшись с Python, вы будете иметь хорошее представление о том, как такие алгоритмы вообще работают, и как их можно модифицировать.
🧷 Смотреть видео
#Видео
📌 Модуль urllib.parse в Python, операции с URL-адресом
• Модуль urllib.parse определяет стандартный интерфейс для разбора URL-адреса на компоненты: протокол, порт, домен, путь и т. д., чтобы можно было объединять компоненты обратно в строку URL-адреса и преобразовать относительный URL-адрес в абсолютный URL-адрес с учетом базового URL-адреса.
• Модуль был разработан в соответствии с "Internet RFC on Relative Uniform Resource Locators". Он поддерживает следующие схемы URL: file, ftp, http, https, imap, mailto, mms, news, nntp, rsync, sftp, shttp, sip, sips, svn, svn+ssh, telnet и т. д.
Пример разбора URL-адреса на компоненты (код на картинке).
📕 Документация
#урок
• Модуль urllib.parse определяет стандартный интерфейс для разбора URL-адреса на компоненты: протокол, порт, домен, путь и т. д., чтобы можно было объединять компоненты обратно в строку URL-адреса и преобразовать относительный URL-адрес в абсолютный URL-адрес с учетом базового URL-адреса.
• Модуль был разработан в соответствии с "Internet RFC on Relative Uniform Resource Locators". Он поддерживает следующие схемы URL: file, ftp, http, https, imap, mailto, mms, news, nntp, rsync, sftp, shttp, sip, sips, svn, svn+ssh, telnet и т. д.
Пример разбора URL-адреса на компоненты (код на картинке).
📕 Документация
#урок
🧩 Главная проблема новичков в асинхронном программировании на Python
• Объясняем, в чем проблема асинхронного программирования на Python, и как она касается синтаксиса высокоуровневой концепции async и await.
🧷 Читать статью
#Статья
• Объясняем, в чем проблема асинхронного программирования на Python, и как она касается синтаксиса высокоуровневой концепции async и await.
🧷 Читать статью
#Статья
Разбор байткода Python с помощью модуля dis
• Если вас очень интересует, что происходит под капотом при каждой операции в Python, то автор покажет вам, и заодно научит разбираться с байткодом. Встроенный модуль dis позволит разобрать на операции любой объект или кусок кода, но чтение и понимание этих операций потребует немного опыта.
🧷 Смотреть видео
#Видео
• Если вас очень интересует, что происходит под капотом при каждой операции в Python, то автор покажет вам, и заодно научит разбираться с байткодом. Встроенный модуль dis позволит разобрать на операции любой объект или кусок кода, но чтение и понимание этих операций потребует немного опыта.
🧷 Смотреть видео
#Видео
📌 Модуль selectors в Python, готовность файлов к вводу/выводу
• Модуль selectors обеспечивает высокоуровневое и эффективное мультиплексирование ввода-вывода, основанное на примитивах модуля select. Если пользователям не нужно точный контроль над примитивами операционной системы, то рекомендуется использовать этот модуль вместо модуля select.
• Модуль selectors определяет несколько конкретных реализаций: selectors.EpollSelector(), selectors.SelectSelector() и т. д., которые можно использовать для ожидания уведомления о готовности ввода-вывода для нескольких файловых объектов. Далее "файловый объект" относится к любому объекту с методом file.fileno() или необработанным файловым дескриптором..
• Класс selectors.DefaultSelector - это псевдоним наиболее эффективной реализации, доступной на текущей платформе: этот класс должен быть выбором по умолчанию для большинства пользователей.
Иерархия классов модуля (код на картинке).
📕 Документация
#урок
• Модуль selectors обеспечивает высокоуровневое и эффективное мультиплексирование ввода-вывода, основанное на примитивах модуля select. Если пользователям не нужно точный контроль над примитивами операционной системы, то рекомендуется использовать этот модуль вместо модуля select.
• Модуль selectors определяет несколько конкретных реализаций: selectors.EpollSelector(), selectors.SelectSelector() и т. д., которые можно использовать для ожидания уведомления о готовности ввода-вывода для нескольких файловых объектов. Далее "файловый объект" относится к любому объекту с методом file.fileno() или необработанным файловым дескриптором..
• Класс selectors.DefaultSelector - это псевдоним наиболее эффективной реализации, доступной на текущей платформе: этот класс должен быть выбором по умолчанию для большинства пользователей.
Иерархия классов модуля (код на картинке).
📕 Документация
#урок
Абстрактные классы в Python
• Разбираемся с тем, как работает abstract base class или abc. Абстрактные классы позволяют в явном виде заставить дочерние классы переопределять поведения родителей, за счёт этого мы можем строить более гибкие иерархии наследования.
🧷 Смотреть видео
#Видео
• Разбираемся с тем, как работает abstract base class или abc. Абстрактные классы позволяют в явном виде заставить дочерние классы переопределять поведения родителей, за счёт этого мы можем строить более гибкие иерархии наследования.
🧷 Смотреть видео
#Видео
📌 Модуль dataclasses в Python, создание типов данных
• Модуль dataclasses предоставляет декоратор и функции для автоматического добавления сгенерированных специальных методов, таких как init() и repr(), в определяемые пользователем классы.
• Атрибуты класса - переменные для использования в этих сгенерированных методах определяются с использованием аннотаций типов.
Пример (код на картинке).
📕 Документация
#урок
• Модуль dataclasses предоставляет декоратор и функции для автоматического добавления сгенерированных специальных методов, таких как init() и repr(), в определяемые пользователем классы.
• Атрибуты класса - переменные для использования в этих сгенерированных методах определяются с использованием аннотаций типов.
Пример (код на картинке).
📕 Документация
#урок
🧩 Как использовать try — except и не испортить себе жизнь
• Разобрали на примерах, когда и как отлавливать ошибки с помощью блока и рассказали, когда эту конструкцию лучше не задействовать.
🧷 Читать статью
#Статья
• Разобрали на примерах, когда и как отлавливать ошибки с помощью блока и рассказали, когда эту конструкцию лучше не задействовать.
🧷 Читать статью
#Статья
Механизм наследования в Python
• Как и всегда нас будет интересовать то, что происходит при наследовании под капотом - как работает типизация, как происходит "перенос" атрибутов и методов, как мы можем расширять поведение дочерних классов. Даже в простейшем случае линейного наследования можно поломать механику работы с проперти, если не соблюсти определённые правила, которые как раз зависят от этой механики.
🧷 Смотреть видео
#Видео
• Как и всегда нас будет интересовать то, что происходит при наследовании под капотом - как работает типизация, как происходит "перенос" атрибутов и методов, как мы можем расширять поведение дочерних классов. Даже в простейшем случае линейного наследования можно поломать механику работы с проперти, если не соблюсти определённые правила, которые как раз зависят от этой механики.
🧷 Смотреть видео
#Видео