fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

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

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

رفتن به کانال در Telegram

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

نمایش بیشتر

📈 تحلیل کانال تلگرام Библиотека Python разработчика | Книги по питону

کانال Библиотека Python разработчика | Книги по питону (@bookpython) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 17 970 مشترک است و جایگاه 7 269 را در دسته فناوری و برنامه‌ها و رتبه 36 632 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 17 970 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 29 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -98 و در ۲۴ ساعت گذشته برابر -6 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 5.47% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 2.71% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 983 بازدید دریافت می‌کند. در اولین روز معمولاً 487 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 4 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند numbers, yield, модуль, none, декоратор تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
“Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍 По всем вопросам @evgenycarter РКН clck.ru/3Ko7Hq”

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 30 اکتبر, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

17 970
مشترکین
-624 ساعت
-297 روز
-9830 روز
آرشیو پست ها
Маркетинг без теорий и «тестов на глазок» Если ты запускаешь рекламу «на глазок» — это не тест. Это активность В «Маркетинг з
Маркетинг без теорий и «тестов на глазок» Если ты запускаешь рекламу «на глазок» — это не тест. Это активность В «Маркетинг за ширмой» я делюсь: ⚡ Фреймворками, которые реально применяю ⚡ Разборами, как одно изменение дало +43% к заявкам ⚡ Чек-листами, которые упрощают аналитику Всё по делу. Без инфо-ваты. Без заигрываний 📱 Загляни в Telegram-канал Узнать больше #реклама 16+ О рекламодателе

В Python функция range() определяет все целые числа в полуоткрытом интервале. То есть range(2, 10) математически означает [2, 10), или, говоря на языке Python: [2, 3, 4, 5, 6, 7, 8, 9]. Несмотря на асимметрию, это не ошибка и не случайность. В этом есть логика: такой подход позволяет "склеивать" два соседних интервала без риска ошибиться на единицу: [a, c) = [a, b) + [b, c) Для сравнения, если бы использовались закрытые интервалы, получалось бы так: [a, c] = [a, b] + [b+1, c] Эта же идея объясняет, почему индексация начинается с нуля: [0, N) содержит ровно N элементов. Эдсгер Дейкстра написал на эту тему отличную статью ещё в 1982 году. 👉@BookPython

Google Meet перестал работать в России: что дальше? 📞🏃‍♂️ Сперва в Telegram и WhatsApp заблокировали звонки, а теперь и Goo
Google Meet перестал работать в России: что дальше? 📞🏃‍♂️ Сперва в Telegram и WhatsApp заблокировали звонки, а теперь и Google Meet сбоит. Видеозвонки не проходят ни с телефонов, ни с ПК. Для бизнеса это означает: - сорванные онлайн-совещания и встречи с клиентами; - срыв собеседований и переговоров с подрядчиками; - потерю времени и простои в коммуникациях команд; - срочный поиск альтернативы для видеозвонков и онлайн-летучек. Что делать бизнесу, когда зарубежные сервисы один за другим перестают работать в России? ✅ В МТС Линк: видеозвонки, чаты, онлайн-доски и совещания без сбоев и ограничений 40 минут; дата-центры в России, соответствие 152-ФЗ и 149-ФЗ; готовые интеграции; русскоязычная техподдержка 24/7. Проверьте, подходит ли МТС Линк вашей компании Узнать больше #реклама 16+ mts-link.ru О рекламодателе

Начиная с Python 3.5, стало возможно использовать распаковку в литералах словарей и списков. Пример:

In : {**{'a': 1}, 'b': 2, **{'c': 3}}
Out: {'a': 1, 'b': 2, 'c': 3}

In : [1, 2, *[3, 4]]
Out: [1, 2, 3, 4]
Для словарей эта форма ещё более мощная, чем функция dict, так как позволяет переопределять значения:

In : {**{'a': 1, 'b': 1}, 'a': 2, **{'b': 3}}
Out: {'a': 2, 'b': 3}
👉@BookPython

about:cloud – infrastructure надвигается с серией митапов Четыре города — Санкт-Петербург, Новосибирск, Екатеринбург и Москва
about:cloud – infrastructure надвигается с серией митапов Четыре города — Санкт-Петербург, Новосибирск, Екатеринбург и Москва — организуют мероприятия для инженеров, работающих с облачными сервисами и инфраструктурой. Участники смогут узнать о реальных технических кейсах Yandex Cloud, обсудить подходы к построению инфраструктурных сервисов и обменяться опытом. Что будет: доклады от разработчиков Yandex Cloud и Yandex Infrastructure, обсуждение практических кейсов, возможность задать вопросы спикерам напрямую. about:cloud – infrastructure объединяет разработчиков, архитекторов и сетевых инженеров — тех, кто ежедневно работает с облаком и строит их основу. Программа на митапах разная, смотрите на сайте: — 28.08 — Санкт-Петербург (офлайн) → Сайт и регистрация — 04.09 — Новосибирск (офлайн) → Сайт и регистрация — 11.09 — Екатеринбург (офлайн) → Сайт и регистрация — 16.10 — Москва (офлайн + онлайн) → Сайт и регистрация Присоединяйтесь к сообществу инженеров и архитекторов — регистрируйтесь на сайте.

В списковых включениях (list comprehensions) может быть больше одного цикла for и условия if:

In : [(x, y) for x in range(3) for y in range(3)]
Out: [
    (0, 0), (0, 1), (0, 2),
    (1, 0), (1, 1), (1, 2),
    (2, 0), (2, 1), (2, 2)
]

In : [
    (x, y)
    for x in range(3)
    for y in range(3)
    if x != 0
    if y != 0
]
Out: [(1, 1), (1, 2), (2, 1), (2, 2)]
Кроме того, любое выражение внутри for и if может использовать все переменные, которые были определены ранее:

In : [
    (x, y)
    for x in range(3)
    for y in range(x + 2)
    if x != y
]
Out: [
    (0, 1),
    (1, 0), (1, 2),
    (2, 0), (2, 1), (2, 3)
]
Можно смешивать if и for в любом порядке:

In : [
    (x, y)
    for x in range(5)
    if x % 2
    for y in range(x + 2)
    if x != y
]
Out: [
    (1, 0), (1, 2),
    (3, 0), (3, 1), (3, 2), (3, 4)
]
👉@BookPython

Розыгрыш книги «Peter Lindbergh. Dior. 40th Ed.» от СШД Разыгрываем книгу «Peter Lindbergh. Dior. 40th Ed. | Peter Lindbergh, Harrison Martin». Уникальное издание с 165 ранее не публиковавшимися снимками от Питера Линдберга и Хуана Гатти. В книге — 70 лет истории Dior: от легендарного костюма 1947 года до современных коллекций Марии Грации Кьюри, запечатлённых на фоне Таймс-сквер. Чёрно-белые и цветные работы Линдберга раскрывают текстуры, силуэты и душу каждой модели. Это больше чем книга — визуальная хроника сотрудничества двух легенд: Dior и мастера фотографии. 👌Условия участия: ✅Подписаться на наш канал в Telegram ✅ Оставить комментарий «СШД» ⚡Итоги — 31 августа. Узнать больше #реклама 16+ О рекламодателе

Символ \ в обычной строке имеет специальное значение. \t — это символ табуляции, \r — возврат каретки и так далее. Можно использовать *сырые строки* (raw-strings), чтобы отключить это поведение. r'\t' — это просто обратный слэш и буква t. Очевидно, что нельзя использовать ' внутри r'...'. Однако его всё ещё можно экранировать через \, но при этом сам \ сохраняется в строке:

>>> print(r'It\'s insane!')
It\'s insane!
Хочешь, я добавлю перевод и к коду, чтобы было ещё понятнее?

Некоторый код, который вы используете, может выводить данные, представляющие для вас интерес, в stdout, вместо того чтобы предоставлять какой-то API, пригодный для использования в программе (например, возвращать строку). Вместо того чтобы рефакторить такой код, вы можете использовать менеджер контекста contextlib.redirect_stdout, который позволяет временно перенаправить stdout в любой объект, похожий на файл. В связке с io.StringIO это позволяет захватывать вывод в переменную.

from contextlib import redirect_stdout
from io import StringIO

s = StringIO()
with redirect_stdout(s):
    print(42)

print(s.getvalue())
Также доступен contextlib.redirect_stderr для перенаправления sys.stderr. 👉@BookPython

Готовимся к школе с Wildberries! На WB вы найдете всё необходимое для учебы: рюкзаки, форма, канцтовары, техника и тысячи дру
Готовимся к школе с Wildberries! На WB вы найдете всё необходимое для учебы: рюкзаки, форма, канцтовары, техника и тысячи других товаров по суперценам!⚡ Подготовка к школе без лишних трат!!📚🎓 Посмотреть каталог #реклама 16+ wildberries.ru О рекламодателе

Оператор in можно использовать с генераторами: x in g. Python будет итерироваться по g, пока не найдёт x или пока генератор не закончится.

>>> def g():
...     print(1)
...     yield 1
...     print(2)
...     yield 2
...     print(3)
...     yield 3
...
>>> 2 in g()
1
2
True
Однако range() делает для вас больше. У него переопределён магический метод __contains__, который позволяет оператору in работать с O(1) сложностью:

In [1]: %timeit 10**20 in range(10**30)
375 ns ± 10.7 ns per loop
Имейте в виду, что это не работает для функции xrange() в Python 2. 👉@BookPython

Привет! Я Ирина, твой личный гид по путешествиям! Мой канал поможет тебе понять, что: 1. Путешествие - это реально!🚗 2. Можн
Привет! Я Ирина, твой личный гид по путешествиям! Мой канал поможет тебе понять, что: 1. Путешествие - это реально!🚗 2. Можно совмещать работу, путешествие и троих детей 2. Не нужно копить годами, чтобы исполнить свою мечту! 💰 3. Самый лучший момент - это сейчас! Подписывайся и начинай путешествовать вместе со мной❤️ Подписаться #реклама 16+ О рекламодателе

Оператор in может использоваться с генераторами: x in g. Python будет перебирать элементы генератора g, пока не найдёт x или пока генератор не исчерпает элементы.

>>> def g():
...     print(1)
...     yield 1
...     print(2)
...     yield 2
...     print(3)
...     yield 3
...
>>> 2 in g()
1
2
True
Однако range() делает для вас больше. У него переопределён магический метод __contains__, что позволяет оператору in работать за O(1):

In [1]: %timeit 10**20 in range(10**30)
375 ns ± 10.7 ns per loop
Имейте в виду, что это не работает для функции xrange() в Python 2. 👉@BookPython

В Python можно переопределить оператор квадратных скобок ([]), реализовав магический метод __getitem__. Вот так можно создать объект, который виртуально содержит бесконечное количество повторяющихся элементов:

class Cycle:
    def __init__(self, lst):
        self._lst = lst

    def __getitem__(self, index):
        return self._lst[index % len(self._lst)]

print(Cycle(['a', 'b', 'c'])[100])  # 'b'
Необычность здесь в том, что оператор [] поддерживает особый синтаксис. Его можно использовать не только так — [2], но и так — [2:10], [2:10:2], [2::2] или даже [:]. Обычно это интерпретируется как [start:stop:step], но вы можете задать любую логику для своих объектов. Что же передаётся в параметр index метода __getitem__, если использовать такой синтаксис? Для этого в Python существуют объекты slice.

class Inspector:
    def __getitem__(self, index):
        print(index)

Inspector()[1]
# 1

Inspector()[1:2]
# slice(1, 2, None)

Inspector()[1:2:3]
# slice(1, 2, 3)

Inspector()[:]
# slice(None, None, None)
Можно даже комбинировать кортежи и срезы:

Inspector()[:, 0, :]
# (slice(None, None, None), 0, slice(None, None, None))
Объект slice сам по себе ничего не делает — он просто хранит атрибуты start, stop и step:

s = slice(1, 2, 3)
s.start  # 1
s.stop   # 2
s.step   # 3
👉@BookPython

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

Есть шесть магических методов Python, которые определяют правила сравнения объектов: ‣ __lt__ для < ‣ __gt__ для > ‣ __le__ для <= ‣ __ge__ для >= ‣ __eq__ для == ‣ __ne__ для != Если некоторые из этих методов не определены или возвращают NotImplemented, применяются следующие правила: ‣ a.__lt__(b) эквивалентно b.__gt__(a) ‣ a.__le__(b) эквивалентно b.__ge__(a) ‣ a.__eq__(b) эквивалентно not a.__ne__(b) (обратите внимание, что в этом случае a и b не меняются местами) Однако, из a >= b и a != b не следует автоматически, что a > b. Декоратор functools.total_ordering создает все шесть методов на основе __eq__ и одного из следующих: __lt__, __gt__, __le__ или __ge__.

from functools import total_ordering

@total_ordering
class User:
    def __init__(self, pk, name):
        self.pk = pk
        self.name = name

    def __le__(self, other):
        return self.pk <= other.pk

    def __eq__(self, other):
        return self.pk == other.pk

assert User(2, 'Vadim') < User(13, 'Catherine')
👉@BookPython

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать

Python предоставляет мощную библиотеку для работы с датой и временем — datetime. Интересная особенность в том, что объекты datetime имеют специальный интерфейс для поддержки часовых поясов (а именно атрибут tzinfo), но сам модуль реализует этот интерфейс лишь частично, оставляя остальную работу другим модулям. Наиболее популярный модуль для этой задачи — pytz. Хитрость в том, что pytz не полностью соответствует интерфейсу tzinfo. В документации pytz это указано уже в первых строках:
«Эта библиотека отличается от задокументированного Python API для реализаций tzinfo».
Вы не можете использовать объекты часовых поясов pytz напрямую в качестве tzinfo. Если попробовать, можно получить совершенно неожиданные результаты:

In : paris = pytz.timezone('Europe/Paris')
In : str(datetime(2017, 1, 1, tzinfo=paris))
Out: '2017-01-01 00:00:00+00:09'
Обратите внимание на смещение +00:09. Правильное использование pytz выглядит так:

In : str(paris.localize(datetime(2017, 1, 1)))
Out: '2017-01-01 00:00:00+01:00'
Также после любых арифметических операций с датами рекомендуется нормализовать объект datetime на случай изменения смещения (например, на границе перехода на летнее время):

In : new_time = time + timedelta(days=2)
In : str(new_time)
Out: '2018-03-27 00:00:00+01:00'

In : str(paris.normalize(new_time))
Out: '2018-03-27 01:00:00+02:00'
Начиная с Python 3.6, рекомендуется использовать dateutil.tz вместо pytz. Он полностью совместим с tzinfo, может напрямую передаваться в атрибут tzinfo, не требует нормализации, хотя работает немного медленнее. 👉@BookPython

Методичка: как сделать онлайн-встречи эффективнее Надоело ждать коллег, которые постоянно забывают о встречах, а отсутствие п
Методичка: как сделать онлайн-встречи эффективнее Надоело ждать коллег, которые постоянно забывают о встречах, а отсутствие повестки и потерянные договоренности мешают нормально работать? Команда МТС Линк собрала на 37 страницах полезные материалы, чек-листы и кейсы, которые помогают компаниям проводить эффективные совещания в онлайне с помощью сервиса Встречи. Из методички узнаете: - Как создать постоянную ссылку и подключаться на встречи в 2 клика, - Как делать заметки и работать с файлами, не переживая за качество связи и безопасность данных. - Как облегчает жизнь ИИ, который расшифровывает созвоны в текст и автоматически отправляет расшифровку на почту. Еще в методичке описаны 7 способов оценки текущей эффективности ваших онлайн-встреч. Получить гайд можно бесплатно на сайте. Скачать #реклама 16+ mts-link.ru О рекламодателе

Можно добавлять символы Unicode в строковый литерал не только по их номеру, но и по имени.

>>> '\N{EM DASH}'
'—'
>>> '\u2014'
'—'
Это также совместимо с f-строками:

>>> width = 800
>>> f'Width \N{EM DASH} {width}'
'Width — 800'
👉@BookPython