es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

Библиотека Python разработчика | Книги по питону

Библиотека Python разработчика | Книги по питону

Ir al canal en Telegram

Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍 По всем вопросам @evgenycarter РКН clck.ru/3Ko7Hq

Mostrar más

📈 Análisis del canal de Telegram Библиотека Python разработчика | Книги по питону

El canal Библиотека Python разработчика | Книги по питону (@bookpython) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 17 971 suscriptores, ocupando la posición 7 264 en la categoría Tecnologías y Aplicaciones y el puesto 36 611 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 17 971 suscriptores.

Según los últimos datos del 30 octubre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -95, y en las últimas 24 horas de -1, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 5.36%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 2.75% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 963 visualizaciones. En el primer día suele acumular 494 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 4.
  • Intereses temáticos: El contenido se centra en temas clave como numbers, yield, модуль, none, декоратор.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍 По всем вопросам @evgenycarter РКН clck.ru/3Ko7Hq”

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 31 octubre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

17 971
Suscriptores
-124 horas
-287 días
-9530 días
Archivo de publicaciones
Реализация парсеров с Pylasu Введение В этой статье рассказывается, как реализовать парсеры на Python с использованием Pylasu
Реализация парсеров с Pylasu Введение В этой статье рассказывается, как реализовать парсеры на Python с использованием Pylasu и ANTLR. Пошагово: 1. Создадим грамматику ANTLR для простого языка программирования Slang и сгенерируем парсер. 2. Определим абстрактное синтаксическое дерево (AST) с помощью Pylasu и научимся строить его из дерева разбора ANTLR. 3. Интегрируем парсер с CLI-приложением для обработки кода Slang из строк и файлов, с выводом AST в формате JSON. Полный код проекта доступен на GitHub. Вы можете экспериментировать, вносить улучшения и делиться идеями! https://tomassetti.me/implement-parsers-with-pylasu/ 👉@BookPython

На любое «Есть проблема» отвечаешь: «Найдём решение»? Тогда стань бизнес-агентом, профессиональным ассистентом топ-менеджеров
На любое «Есть проблема» отвечаешь: «Найдём решение»? Тогда стань бизнес-агентом, профессиональным ассистентом топ-менеджеров СИБУРа! За два года работы прокачаешься так, что сможешь развиваться в любых направлениях компании. Тебе предстоит ответственная миссия: — решать неразрешимое (например, находить нужный контакт за пару часов!); — оптимизировать график руководителя; — погружаться в бизнес-задачи; — вести деловую переписку и управлять документооборотом. Уверены, ты справишься. Ведь для этого в СИБУРе есть масштабные ресурсы: — план карьерного развития под руководством настоящих профи; — соцпакет с ДМС и скидками от партнеров; — премии за эффективную работу; — абонементы на спорт и бесплатные тренировки. Убедись, что владеешь навыками бизнес-агента, и стань одной из нас! Узнать больше #реклама career.sibur.ru О рекламодателе

🏷 BLACK FRIDAY: −65% на профессию Python-разработчика! Время превратить мечту об IT-карьере в реальность по сумасшедшей цене! 🔥 На курсе от Академии «Синергия» вас ждёт: 👨‍💻 17 реальных проектов в портфолио 🛠 10+ ключевых технологий: Django, Flask, Linux, Docker 🌐 Продвинутые темы: асинхронное программирование 🎓 Эксперты из Avito, «Т-Банка» и «Яндекса» 💼 Гарантированное трудоустройство 🎁 Бонус: 5 дополнительных курсов в подарок: 🎨 Figma с 0 до Pro 📊 Excel 🎤 Ораторское искусство 🧠 Soft-skills и Hard-skills предпринимателя 🤖 Создание чат-бота ⚠️ Предложение действует 48 часов 🔥 Скидка 65% — такого больше не будет! Забронируйте место по лучшей цене: https://epic.st/imedU #python #blackfriday #IT_образование Реклама. Университет «Синергия» ИНН 7729152149 erid:2Vtzqwnkw4r

Очередь с приоритетом — это структура данных, которая поддерживает две операции: добавление элемента и извлечение минимального из всех ранее добавленных элементов. Одной из самых распространённых реализаций очереди с приоритетом является бинарная куча. Это полное бинарное дерево со следующим свойством: ключ, хранящийся в каждом узле, меньше или равен (≤) ключам в дочерних узлах. Минимум всех элементов находится в корне такого дерева.




              1

      3               7

  5       4       9       8

15 16   17 18   19
В бинарной куче сложность операций вставки и извлечения составляет O(log n). Обычный способ хранения полного бинарного дерева в памяти — это массив, где дочерние элементы для x[i] находятся в x[2*i+1] и x[2*i+2].

[1, 3, 7, 5, 4, 9, 8, 15, 16, 17, 18, 19]
В Python нет бинарной кучи в виде класса, но предоставляется ряд функций, которые позволяют использовать список как бинарную кучу. Эти функции находятся в модуле heapq.

In [1]: from heapq import *
In [2]: heap = [3,2,1]
In [3]: heapify(heap)
In [4]: heap
Out[4]: [1, 2, 3]
In [5]: heappush(heap, 0)
In [6]: heap
Out[6]: [0, 1, 3, 2]
In [7]: heappop(heap)
Out[7]: 0
In [8]: heap
Out[8]: [1, 2, 3]
👉@BookPython

Генетический паспорт 7 999 ₽! Черная пятница в Genotek. Результаты теста расскажут о происхождении и здоровье Вас и Ваших будущих детей! Узнайте о предках, здоровье и Ваших возможностях в тесте - Генетический паспорт. Генетический паспорт включает в себя: - Происхождение 🏠 (этнический состав, поиск родственников, миграции предков, гены неандертальцев) - Риски заболеваний ⚡ - Питание - Спорт ⚽️ - Эффективность лекарств - Способности и характер 🎓 - Консультация с врачом ✅ Зарегистрируйтесь на сайте и составьте свое семейное древо бесплатно! Перейти на сайт Есть противопоказания. Посоветуйтесь с врачом. #реклама genotek.ru О рекламодателе

Популярный способ объявить абстрактный метод в Python — использовать исключение NotImplementedError:

def human_name(self):
    raise NotImplementedError
Хотя этот способ довольно популярен и даже поддерживается IDE (PyCharm считает такой метод абстрактным), у него есть недостаток. Ошибка возникает только при вызове метода, а не при создании экземпляра класса. Используйте abc, чтобы избежать этой проблемы:

from abc import ABCMeta, abstractmethod
class Service(metaclass=ABCMeta):
    @abstractmethod
    def human_name(self):
        pass
👉@BookPython

До 23% годовых по накопительному счету Откройте накопительный счет с высокой ставкой в Газпромбанке. Любая сумма и срок, пополнение и снятие - когда удобно, без потери начисленных процентов Узнать больше Финансовые услуги оказывает: Банк ГПБ (АО). #реклама gazprombank.ru О рекламодателе

Python 3 позволяет сделать некоторые аргументы функции обязательными именованными аргументами, что означает, что их нужно передавать как (arg=value), а не просто (value). Это может быть полезно, чтобы предотвратить вызовы функции вроде: grep(text, pattern, True, False, True), где True, False, True на самом деле означают: игнорировать регистр, не инвертировать совпадение, шаблон — регулярное выражение Perl. Было бы неплохо заставить использовать единственный разумный вид вызова:

grep(text, pattern,
    ignore_case=True,
    perl_regexp=True)
Чтобы достичь этого результата, следует разместить обязательные именованные аргументы после аргумента переменной длины (также известного как *args):

def grep(
    text, pattern, *args,
    ignore_case=False,
    invert_match=False,
    perl_regexp=False,
):
    pass
Если вам не нужен *args (как в примере), просто замените его на одиночную звездочку:

def grep(
    text, pattern, *,
    ignore_case=False,
    invert_match=False,
    perl_regexp=False,
):
    pass
👉@BookPython

Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких до конца года бесплатно. Кин
Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких до конца года бесплатно. Кинопоиск и Яндекс Книги тоже в подписке. Попробуйте сейчас❤️ Попробовать #реклама 18+ music.yandex.ru О рекламодателе Реклама на Яндексе

Если вы хотите перехватить как IndexError, так и KeyError, вы можете и должны использовать LookupError, их общего предка. Это оказалось полезным при доступе к сложным вложенным данным.

try:
    db_host = config['databases'][0]['hosts'][0]
except LookupError:
    db_host = 'localhost'
👉@BookPython

Яндекс Музыка до конца года бесплатно! Подписка Яндекс Плюс для вас и 3-х близких до конца года бесплатно! Слушайте музыку и
Яндекс Музыка до конца года бесплатно! Подписка Яндекс Плюс для вас и 3-х близких до конца года бесплатно! Слушайте музыку и аудиокниги, смотрите фильмы, читайте книги без рекламы и ограничений. Попробуйте!👍 Попробовать #реклама 18+ plus.yandex.ru О рекламодателе

>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
Вы когда-нибудь задумывались, почему при попытке выйти из интерактивного Python с помощью простого exit или quit появляется это сообщение? Решение довольно неожиданное, но изящное. Это не специальный случай для интерактивной оболочки, она просто показывает представление каждого вычисленного результата, а эта строка - просто представление функции exit. Строго говоря, вы не должны использовать exit в своих повседневных проектах, поскольку она была создана специально для интерактивной оболочки. Вместо этого используйте sys.exit(). 👉@BookPython

Ищете надежную СУБД? Присоединяйтесь к Data Platform V Телеграм-канал о СУБД и других продуктах для работы с данными в высоко
Ищете надежную СУБД? Присоединяйтесь к Data Platform V Телеграм-канал о СУБД и других продуктах для работы с данными в высоконагруженных системах. Рассказываем, как/какие продукты для работы с данными помогают бизнесу решать задачи быстрее и эффективнее. 4 причины, чтобы подписаться на канал: 1. Узнаете о 9 надежных решениях для работы с данными в условиях импортозамещения 2. Познакомитесь с реальными кейсами внедрения СУБД для бизнеса 3. Будете в курсе последних новостей и трендов рынка СУБД в России и мире 4. Получите приглашения на мероприятия с участием ведущих экспертов отрасли Подписаться #реклама О рекламодателе

Известный синтаксис декораторов в Python (@this_one) — это способ вызова функции высшего порядка. Раньше людям приходилось делать это вручную:

# prior to Python 2.4
def query():
    pass
query = atomic(query)

# now
@atomic
def query():
    pass
По сути, идентификатор после @ — это то, что будет вызвано. Можно также использовать идентификатор со скобками (@atomic(skip_errors=True)), что обычно используется для параметризированных декораторов. Также работает что-то вроде @decorators.db.atomic(True). Кажется, что любой вид выражения можно использовать в качестве декоратора, но это не так. После @ должен следовать один «дот-идентификатор» (например, decorators.atomic) и, при необходимости, одна пара скобок с аргументами (как вызов функции). Так что @decorators[2] использовать нельзя. Вот строка из грамматики Python:

decorator: '@' dotted_name [ '(' [arglist] ')' ] NEWLINE
👉@BookPython

Скидка 15% на корпоративное такси. Яндекс Go для бизнеса Скидка 15% на первые три месяца. Возврат НДС до 20% на все рабочие п
Скидка 15% на корпоративное такси. Яндекс Go для бизнеса Скидка 15% на первые три месяца. Возврат НДС до 20% на все рабочие поездки. Контроль маршрутов и расходов в одном кабинете. Быстрая подача авто от 5 минут. Удобное онлайн-подключение без визита в офис. Узнать больше #реклама business.go.yandex О рекламодателе

Если dict запоминает порядок элементов в Python 3.6+, тогда зачем нужен collections.OrderedDict? А вот зачем:

>>> OrderedDict(a=1, b=2) == OrderedDict(b=2, a=1)
False
>>> dict(a=1, b=2) == dict(b=2, a=1)
True
👉@BookPython

🏁 Python разрабатывает API, как спорткар🏎 разгоняется до сотни — с FastAPI всё быстро, надёжно и элегантно 🏁 🛠 Если вам н
🏁 Python разрабатывает API, как спорткар🏎 разгоняется до сотни — с FastAPI всё быстро, надёжно и элегантно 🏁 🛠 Если вам нужны инструменты для создания веб-приложений, которые не тормозят, не тратят лишних ресурсов и готовы к продакшену — ждём вас 26 ноября в 20:00 мск на бесплатном открытом уроке, где мы разберём, как FastAPI переворачивает мир разработки API. Узнаете всё: от маршрутизации до работы с базами данных и асинхронного программирования. А еще покажем, как создать простое API буквально за пару минут. FastAPI — это не только скорость, но и простота в использовании. А для тех, кто хочет глубже нырнуть в разработку с Python, будет скидка на курс «Python Developer. Professional». 🔥Спикер Валентин Шилин — старший программист с опытом более 15 лет на С++, С#, JavaScript, Python, Scala, Java; аналитик данных; эксперт в обработке больших данных с помощью Scala/Spark и Hadoop Cloudera. 🔴 Зарегистрируйтесь прямо сейчас: https://vk.cc/cEBl3M Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

В Python 3 методы keys, values и items для словарей возвращают объекты-представления (view objects). В Python 2 они возвращали списки. Основное различие в том, что представления не хранят все элементы в памяти, а предоставляют их по мере запроса. Это работает отлично, пока вы просто итерируете ключи (что обычно и делается), но теперь вы не можете получить доступ к элементам по индексу.

TypeError: 'dict_keys' object does not support indexing
Можно утверждать, что индексация ключей не особо нужна, так как их порядок случайный, но это не совсем так. Во-первых, d.keys()[0] может быть удобным способом получить любой ключ (используйте next(iter(d.keys())) в Python 3). Во-вторых, начиная с Python 3.6, словари в CPython упорядочены по порядку добавления, и с версии Python 3.7 это стало стандартной особенностью языка. 👉@BookPython

Яндекс Заправки для бизнеса. Скидка до 3%. Без комиссий Управляйте заправками сотрудников с экономией на топливе. Возмещайте
Яндекс Заправки для бизнеса. Скидка до 3%. Без комиссий Управляйте заправками сотрудников с экономией на топливе. Возмещайте до 20% от стоимости топлива через возврат НДС. Получайте закрывающие документы в электронном виде. Еще удобнее с мобильным приложением. Узнать больше #реклама 16+ business.go.yandex О рекламодателе

Блок else для выражений for и try используется довольно редко. Однако, комбинируя их вместе, можно написать код, который выполняет итерацию по коллекции до первого успешного результата без использования дополнительных флагов.

import logging
from typing import List, Optional

logging.basicConfig(level=logging.DEBUG)

def first_int(iterable: List[str]) -> Optional[int]:
    for x in iterable:
        try:
            result = int(x)
        except ValueError:
            logging.debug('Bad int: %s', x)
        else:
            break
    else:
        result = None
        logging.error('No int found')

    return result

print(first_int(('a', 'b', '42', 'c')))
Вывод:

DEBUG:root:Bad int: a
DEBUG:root:Bad int: b
42
👉@BookPython