uz
Feedback
Zen of Python

Zen of Python

Kanalga Telegram’da o‘tish

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Ko'proq ko'rsatish

📈 Telegram kanali Zen of Python analitikasi

Zen of Python (@zen_of_python) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 18 957 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 6 786-o'rinni va Rossiya mintaqasida 34 781-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 18 957 obunachiga ega bo‘ldi.

27 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -157 ga, so‘nggi 24 soatda esa 7 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 12.56% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 6.30% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 2 381 marta ko‘riladi; birinchi sutkada odatda 1 195 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 5 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent github, rust, pip, api, install kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Yuqori yangilanish chastotasi (oxirgi ma’lumot 28 Avgust, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

18 957
Obunachilar
+724 soatlar
-317 kunlar
-15730 kunlar
Postlar arxiv
raise в реальной жизни #кек @zen_of_python

Питонистам позалипать на вечер: вышла документалка про Python 🖥 История о том, как скромный проект из Амстердама 90-х превра
Питонистам позалипать на вечер: вышла документалка про Python 🖥 История о том, как скромный проект из Амстердама 90-х превратился в движок для AI, дата-сайенса и топовых IT-компаний. За 90 минут документалка охватывает всё: первые коммиты, сомнения в будущем, почти забвение — и путь к славе. В фильме — интервью с Гвидо ван Россумом, Трэвисом Олифантом (создатель NumPy), Барри Варшавом и другими ведущими разработчиками. Они делятся закулисьем жизни Python, моментами разногласий и тем, как язык стал незаменимым… ну, реально для всего.

Requests для начинающих + пара фишек для адептов requests является де-факто стандартом для HTTP-запросов в Python. Она упрощает взаимодействие с веб-сервисами, предоставляя интуитивно понятный интерфейс для отправки запросов и обработки ответов. Инструмент не входит в стандартную библиотеку ЯП, поэтому его необходимо установить отдельно:

python -m pip install requests
Рекомендуется устанавливать внешние пакеты в виртуальное окружение, чтобы избежать конфликтов зависимостей. Основные методы Для получения данных с сервера используется метод GET:

import requests

response = requests.get('https://example.com')
print(response.text)
Для отправки данных на сервер используется метод POST:

import requests

data = {'key': 'value'}
response = requests.post('https://example.com', data=data)
print(response.text)
Ответы сервера Статус-код запроса можно получить так:

print(response.status_code) # 200 — успешный запрос
Если ответ содержит JSON-данные, их можно преобразовать в Python-объект с помощью метода json():

data = response.json()
Параметры запроса (params) Параметры запроса можно передавать в виде словаря в params:

params = {'q': 'python'}
response = requests.get('https://example.com/search', params=params)
Requests автоматически кодирует параметры и добавляет их к URL. Заголовки (Headers) Заголовки запроса можно передавать в виде словаря в параметре headers:

headers = {'User-Agent': 'my-app'}
response = requests.get('https://example.com', headers=headers)
Это полезно для указания типа контента, авторизации и других параметров. Другие HTTP-методы Requests поддерживает все основные HTTP-методы: 🔘requests.put() — для обновления; 🔘requests.delete() — для удаления. 🔘requests.head() — для получения только заголовков ответа; 🔘requests.options() — для получения поддерживаемых сервером методов. Подготовка запроса Requests позволяет подготовить запрос:

from requests import Request, Session

req = Request('GET', 'https://example.com', params={'q': 'python'})
prepared = req.prepare()

with Session() as session:
    response = session.send(prepared)
    print(response.text)
Это полезно, если необходимо многократно отправлять одинаковые запросы с разными параметрами. Аутентификация Requests поддерживает базовую аутентификацию с помощью параметра auth:

from requests.auth import HTTPBasicAuth

response = requests.get('https://example.com', auth=HTTPBasicAuth('user', 'pass'))
Также поддерживаются другие методы аутентификации, такие как OAuth. Безопасность Requests по умолчанию проверяет SSL-сертификаты при работе с HTTPS. Если необходимо отключить проверку (не рекомендуется в производственной среде), можно использовать параметр verify:

response = requests.get('https://example.com', verify=False)
Повторные попытки и сессии Для улучшения производительности и управления соединениями рекомендуется использовать сессии:

with requests.Session() as session:
    response = session.get('https://example.com')
    print(response.text)
Сессии позволяют повторно использовать соединения и сохранять параметры между запросами. Для автоматических повторных попыток в случае неудачи можно использовать библиотеку urllib3 вместе с Requests. #основы @zen_of_python

​​Еще одна схема мошенничества на PyPi: освободившиеся домены PyPI усиливает защиту аккаунтов от атак через «возрождение» доменов. С июня 2025 года система ежедневно проверяет статус доменов, связанных с адресами электронной почты пользователей. Если домен переходит в период восстановления или удаления, PyPI автоматически отменяет верификацию таких адресов, предотвращая возможность захвата аккаунта через сброс пароля. С начала июня более 1 800 адресов были размечены как ненадежные. Пользователям рекомендуется добавить вторичный адрес с надежного почтового сервиса и включить двухфакторную аутентификацию для повышения безопасности. #безопасность @zen_of_python 😈 — Если для мошенников в опенсорсе отдельный котел в аду

Онлайн-студия big tech night Если вас не будет в Москве в день ивента, подключайтесь к нашей онлайн-студии. Мы подготовили ог
Онлайн-студия big tech night Если вас не будет в Москве в день ивента, подключайтесь к нашей онлайн-студии. Мы подготовили огненную программу, которая отличается от офлайн-активностей: 🔴 Выступления спикеров от компаний-организаторов и других топов в индустрии 🔴 Микс форматов — от дискуссий и интервью до фановых историй из жизни разработчиков 🔴 Интерактивы с комментариями зрителей Проведём сразу два прямых эфира:Студия Hard В формате дискуссий и интервью обсудим сложные темы — управление IT-командой, AI в разработке, запуск проектов на несколько бизнесов. ✨ Студия Soft Настоящая вечеринка в формате Late Night Show. Будем общаться, шутить и делиться сокровенным — например, обсудим необычные хобби и безумные pet-проекты. ❗️ Можно переключаться между студиями, чтобы поймать все самые интересные темы. 💻 Мы в эфире 12 сентября с 18:00 до 21:00 ❤️Зарегистрируйтесь на сайте, чтобы получить ссылку на трансляцию Подписывайтесь: 💬 big tech night Реклама. Рекламодатель: ООО "Яндекс" ИНН 7736207543 Это #партнёрский пост

Python в 2025 году: исследование Python Software Foundation Восьмой ежегодный опрос разработчиков Python, проведённый создате
+9
Python в 2025 году: исследование Python Software Foundation Восьмой ежегодный опрос разработчиков Python, проведённый создателями языка и командой PyCharm, собрал более 30 000 ответов. И вот интересные факты на его базе: — Python остаётся основным языком для своих пользователей. В отличие от многих других языков, 86 % респондентов используют Python как основной язык программирования; — Половина сообщества — новички. Интересно, что 50 % опрошенных имеют менее двух лет профессионального опыта в программировании, а 39 % — менее двух лет опыта работы с Python; — доля респондентов, использующих FastAPI, выросла с 29 до 38%. — Менеджер пакетов uv становится новым стандартом из-за скорости; — Использование GPT через Hugging Face Transformers позволяет легко интегрировать ИИ в проекты. #факт @zen_of_python

​​6 способов автоматизировать ревью кода — подборка сервисов Если вы устали от ручного кода-ревью, в подборке Tproger вы найдете шесть действенных способов автоматизировать этот процесс. Среди тулов выделяется BeeCR, который интегрируется с GitLab. Также представлен Reshift — легковесный JavaScript-плагин, ориентированный на выявление уязвимостей ещё на этапе разработки. #инструмент @zen_of_python

Маск тихо представил Grok Code и сделал его частью Cursor Ночью xAI тихо выкатили новую модель Grok Code — гибрид на 37B акти
Маск тихо представил Grok Code и сделал его частью Cursor Ночью xAI тихо выкатили новую модель Grok Code — гибрид на 37B активных параметров, специально обученный под кодинг. Контекстное окно — внушительные 262K токенов. До релиза модель пряталась под именем «sonic». Те, кто уже успел попробовать новинку, отмечают: работает быстро и точно, хотя официальных бенчей пока нет. Самое приятное — попробовать Grok Code можно прямо сейчас в Cursor и Opencode. Причем до 2 сентября это бесплатно. @your_tech

Mixins | Что это и как использовать В ООП миксины — это инструмент, который позволяет переиспользовать общую функциональность между несколькими, часто несвязанными типами данных. Это шаг в сторону гибкого модульного кода с минимальной связностью похожих объектов. В отличие от других ЯП (Ruby, Dart и проч.), которые поддерживают этот паттерн явно через специализированный синтаксис, Python полагается на множественное наследование как на механизм для реализации этой концепции. Представьте, что вы создаете классы Animal и Vehicle с различными форматами данных. Реализация одной и той же функции serialize() приводит к дублированию кода:

# Плохо: Дублирование кода
class Animal:
    def __init__(self, name, species):
        self.name = name
        self.species = species
    
    def serialize(self) -> dict:
        return vars(self)

class Vehicle:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year
    
    def serialize(self) -> dict:  # Дублирование!
        return vars(self)

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def serialize(self) -> dict:  # Дублирование!
        return vars(self)
Решение через примеси:

# Миксин обычно предоставляет одну конкретную функцию
class SerializableMixin:
    def serialize(self) -> dict:
        if hasattr(self, "__slots__"):
            return {
                name: getattr(self, name)
                for name in self.__slots__
            }
        else:
            return vars(self)

# Классы используют mixin без странной иерархии
class Animal:
    def __init__(self, name, species):
        self.name = name
        self.species = species

class Vehicle:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# Применяем mixin к нужным классам
class SerializableAnimal(Animal, SerializableMixin):
    pass

class SerializableVehicle(Vehicle, SerializableMixin):
    pass

class SerializablePerson(Person, SerializableMixin):
    pass
Когда использовать Mixins 1️⃣ Когда нужно переиспользовать функциональность между несвязанными классами 2️⃣ Когда нужно создать модульный и композируемый код 3️⃣ Когда нужно расширить функциональность сторонних библиотек Когда НЕ стоит использовать Mixins 1️⃣ Когда функциональность специфична для одного класса 2️⃣ Когда создается слишком сложная иерархия наследования #основы @zen_of_python 🤓 — Если изучил досконально

Паттерн Flyweight | как экономить память и избегать дублирования кода Flyweight («вес мухи») — один из структурных паттернов, предназначенный для оптимизации расходования памяти. Суть — разделять состояния объектов на: ➡️ Внутреннее (intrinsic): общие, неизменяемые компоненты, которые можно разделять между объектами; ➡️ Внешнее (extrinsic) — уникальные, изменяемые данные, передаваемые в объект лишь в контексте его использования. Это позволяет хранить меньше объектов при одинаковом поведении. Стоит задуматься об этом паттерне, если требуется создать множество объектов с частично общими данными. Пример Представь, что у нас лес в игре из 100К деревьев. У каждого дерева есть: — Внутреннее состояние: текстура, цвет листвы, форма кроны, высота модели. Это разделяемые каждым деревом в лесу свойства; — Внешнее состояние: координаты на карте, текущее состояние (здорово/повалено). Такое уникально для каждого дерева. Если бы мы для каждого дерева хранили копию текстуры и модели, мы бы потратили гигабайты памяти. Flyweight избавляет от проблемы: Наивный вариант (без Flyweight)

class Tree:
    def __init__(self, texture, color, shape, x, y):
        self.texture = texture
        self.color = color
        self.shape = shape
        self.x = x
        self.y = y

    def draw(self):
        print(f"Drawing {self.color} {self.shape} at ({self.x}, {self.y})")
        

# создаём 100.000 деревьев, каждое хранит одинаковую текстуру и форму
forest = [
    Tree("oak_texture.png", "green", "oak", x, y)
    for x, y in zip(range(1000), range(1000))
]
Каждый объект Tree хранит одинаковые данные (oak_texture.png, "oak", "green"), хотя это лишнее. С Flyweight

# Общие характеристики
class TreeType:
    def __init__(self, texture, color, shape):
        self.texture = texture
        self.color = color
        self.shape = shape

    def draw(self, x, y):
        # внешние данные передаются параметром
        print(f"Drawing {self.color} {self.shape} at ({x}, {y})")


# Фабрика для переиспользования типов деревьев
class TreeFactory:
    _tree_types = {}

    @classmethod
    def get_tree_type(cls, texture, color, shape):
        key = (texture, color, shape)
        if key not in cls._tree_types:
            cls._tree_types[key] = TreeType(texture, color, shape)
        return cls._tree_types[key]


# Контекст: хранит только уникальные данные (extrinsic)
class Tree:
    def __init__(self, x, y, tree_type):
        self.x = x
        self.y = y
        self.tree_type = tree_type

    def draw(self):
        self.tree_type.draw(self.x, self.y)


# создаём 100ю000 деревьев, но реально разных TreeType всего 2-3
forest = []
for i in range(100000):
    if i % 2 == 0:
        tree_type = TreeFactory.get_tree_type("oak_texture.png", "green", "oak")
    else:
        tree_type = TreeFactory.get_tree_type("pine_texture.png", "darkgreen", "pine")
    forest.append(Tree(i, i * 2, tree_type))

# Нарисуем первые пять
for tree in forest[:5]:
    tree.draw()
⚡️ У нас 100 000 объектов Tree, но всего 2 объекта `TreeType` (oak и pine). Экономия памяти огромная: вместо хранения 100.000 текстур хранится только 2. Недостатки паттерна — Усложнение структуры кода; — Возможны сложности с сопровождением, особенно при неправильном управлении extrinsic; — Повышен риск связности — общие объекты могут влиять на многие части системы . #основы @zen_of_python

Omnara | Центр управления полетами для ваших ИИ-копайлотов Платформа для мониторинга и управления ИИ-агентами (такими как Claude Code, Cursor и другими), которая позволяет отслеживать их работу в реальном времени и получать уведомления, когда агенты нуждаются в помощи. Инструмент работает как в веб-версии, так и в мобильном приложении. Также реализованы REST API, Python SDK и MCP (Model Context Protocol). Такой тул позволяет вам настроить своих AI-заместителей и больше времени проводить за нерутинными задачами. Цена: бесплатно (но за токены придется платить) Доступен в РФ: да @zen_of_python

Получается нас уже заменили? #постИИрония

Линейка в доме питониста никогда не покрывается пылью 🙂 #кек @zen_of_python

Tproger объединились с Paradox и запустили совместный проект для комьюнити разработчиков Мы сделали два дизайна — теперь ваш
+1
Tproger объединились с Paradox и запустили совместный проект для комьюнити разработчиков   Мы сделали два дизайна — теперь ваш ход. Вы за типичный или за токсичный вайб? Голосуйте за один из вариантов до 30 августа на сайте.   В конце месяца объявим победителя — дизайн, который сообщество реально протащило в прод.   И да, всё самое интересное будет в канале. Среди голосующих разыграем призы — так что не только банке достанется апгрейд.

Мотивация зрелого разработчика #кек @zen_of_python
Мотивация зрелого разработчика #кек @zen_of_python

Вопросы подписчиков Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает: — Спрашивайте
Вопросы подписчиков Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает: — Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов! — Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте; #вопросы_новичков @zen_of_python

GlowByte запускает второй сезон образовательного онлайн-ретрита по FineBI — «Второе дыхание»! 13 дней обновленной программы с
GlowByte запускает второй сезон образовательного онлайн-ретрита по FineBI — «Второе дыхание»! 13 дней обновленной программы с 3 новыми уроками, практическими вебинарами и призами за лучшие домашние задания.   Что ждет участников: • Обновленные домашние задания с системой призов • Три специальных вебинара: FineReport Pro (28 августа), AI-революция в аналитике (2 сентября), 3D-визуализация с FineVis (9 сентября) • Успешные кейсы от Tele2, Уралсиб, Циан и других компаний Программа для всех, кто работает с данными — от разработчиков до руководителей. Старт 25 августа! Регистрируйтесь по ссылке и получите второе дыхание в мире BI-аналитики.   Это #партнёрский пост

Многофакторное сравнение пяти популярных вычислительных движков Big Data На Tproger сравнили Spark, Presto/Trino, ClickHouse
Многофакторное сравнение пяти популярных вычислительных движков Big Data На Tproger сравнили Spark, Presto/Trino, ClickHouse и StarRocks — с оценкой по таким критериям, как скорость, масштабируемость, кэширование, отказоустойчивость и поддержка SQL / Python. Выделено три типа движков: — универсальные (например, Spark, Flink, MapReduce), предназначенные для пакетных сложных вычислений; — интерактивные, для запросов (Presto, Trino) для моментального анализа ad hoc; — аналитические, ориентированные на OLAP-аналитику с векторизацией. Используется система скоринга Metascore, которая облегчит сравнение и принятие обоснованного решения. #инструмент @zen_of_python

Инструкция к Kubernetes, которую поймёт даже водитель Uber Если ваша резиновая уточка уже освоила все популярные технологии,
Инструкция к Kubernetes, которую поймёт даже водитель Uber Если ваша резиновая уточка уже освоила все популярные технологии, то пора искать новую жертву. Сможете рассказать о сложном так, чтобы вас понял даже далёкий от IT водитель такси? Автор этого материала смог и поделился своим результатом. Если вы всё ещё не до конца понимаете кубер, то скорее читайте статью: https://dev.to/therubberduckiee/explaining-kubernetes-to-my-uber-driver-4f60

Мы писали ранее, что 12 сентября пройдёт big tech night. Событие придумали в Яндексе и организовали вместе со Сбером, X5, Т-Б
+5
Мы писали ранее, что 12 сентября пройдёт big tech night. Событие придумали в Яндексе и организовали вместе со Сбером, X5, Т-Банком и Lamoda. Впервые топовые IT-компании одновременно откроют двери офисов в Москве с 18:00 до 00:00 и покажут специалистам, где рождаются технологии. Пора рассказать о тех, кто выйдет на сцену⚡️ 📣 Кто и о чём расскажет на big tech night? Начинаем представлять спикеров и темы. Читайте на карточках. ➡️ А подробнее про доклады рассказываем на сайте Подписывайтесь: 💬 big tech night Реклама. Рекламодатель: ООО "Яндекс" ИНН 7736207543