Zen of Python
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
Показати більше📈 Аналітичний огляд Telegram-каналу Zen of Python
Канал Zen of Python (@zen_of_python) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 18 954 підписників, посідаючи 6 781 місце в категорії Технології та додатки та 34 780 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 18 954 підписників.
За останніми даними від 28 серпня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -157, а за останні 24 години на -4, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 11.75%. Протягом перших 24 годин після публікації контент зазвичай збирає 6.24% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 2 227 переглядів. Протягом першої доби публікація в середньому набирає 1 183 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 4.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як github, rust, pip, api, install.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Полный Дзен Пайтона в одном канале
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL”
Завдяки високій частоті оновлень (останні дані отримано 29 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
print("Hello World" # Отсутствует закрывающая скобка
- IndentationError — возникает при неправильном отступе:
def greet():
print("Hello") # Отсутствует отступ
Распространённые исключения
- TypeError — операция между несовместимыми типами:
print("10" + 5) # Возникает TypeError
- ValueError — неподходящее значение аргумента:
num = int("abc") # Возникает ValueError
- KeyError — обращение к несуществующему ключу в словаре:
data = {"name": "Alice"}
print(data["age"]) # Возникает KeyError
- IndexError — обращение к несуществующему индексу в списке:
numbers = [1, 2, 3]
print(numbers[5]) # Возникает IndexError
- ZeroDivisionError — деление на ноль:
result = 10 / 0 # Возникает ZeroDivisionError
- FileNotFoundError — файл не найден:
with open("missing_file.txt", "r") as file:
content = file.read() # Возникает FileNotFoundError
Вы можете определить собственные классы исключений, наследуя от класса Exception:
class CustomError(Exception):
pass
raise CustomError("Это пользовательское исключение!")
#основыdjango.db.models.CompositePrimaryKey;
— Упрощенное переопределение BoundField на уровне формы, поля или проекта.
Про CompositePrimaryKey
CompositePrimaryKey позволяет создавать первичные ключи, состоящие из нескольких полей, что особенно полезно при моделировании связей многие-ко-многим.
from django.db import models
class Product(models.Model):
name = models.CharField(max_length=100)
class Order(models.Model):
reference = models.CharField(max_length=20, primary_key=True)
class OrderLineItem(models.Model):
pk = models.CompositePrimaryKey("product_id", "order_id")
product = models.ForeignKey(Product, on_delete=models.CASCADE)
order = models.ForeignKey(Order, on_delete=models.CASCADE)
quantity = models.IntegerField()
В этом примере модель OrderLineItem использует составной первичный ключ, состоящий из полей product_id и order_id. Это гарантирует уникальность каждой комбинации продукта и заказа. Ранее для достижения подобного поведения приходилось использовать дополнительные настройки или сторонние библиотеки.
#django #факт
@zen_of_pythonimport argparse
import asyncio
import json
import os
import textwrap
import httpx
async def fetch_word_data(word: str) -> list:
"""Получает данные слова из API словаря."""
url = f"https://api.dictionaryapi.dev/api/v2/entries/en/{word}"
async with httpx.AsyncClient() as client:
response = await client.get(url)
response.raise_for_status()
return response.json()
async def main(word: str):
"""Получает и выводит определения для данного слова."""
data = await fetch_word_data(word)
if data:
print(f"Определения для '{word}':")
for entry in data:
for meaning in entry.get("meanings", []):
part_of_speech = meaning.get("partOfSpeech")
definitions = meaning.get("definitions", [])
if part_of_speech and definitions:
print(f"\n{part_of_speech}:")
for definition_data in definitions:
definition = definition_data.get("definition")
if definition:
print(f"- {definition}")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Получить определения слова.")
parser.add_argument("word", type=str, help="Слово для поиска.")
args = parser.parse_args()
asyncio.run(main(args.word))
Чтобы добавить зависимость httpx в наш скрипт, мы можем использовать команду uv:
uv add --script wordlookup.py httpx
После выполнения этой команды в верхней части скрипта будут добавлены метаданные о зависимостях, что позволит uv автоматически управлять установкой необходимых библиотек при запуске скрипта.
Запускаем скрипт:
uv run wordlookup.py <слово>
При первом запуске uv создаст изолированную виртуальную среду и установит все необходимые зависимости. В дальнейшем uv будет использовать уже созданную среду.
#факт
@zen_of_python