Python/ django
по всем вопросам @haarrp @itchannels_telegram - 🔥 все ит каналы @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - 📚 @pythonlbooks РКН: clck.ru/3FmxmM
Show more📈 Analytical overview of Telegram channel Python/ django
Channel Python/ django (@pythonl) in the Russian language segment is an active participant. Currently, the community unites 60 010 subscribers, ranking 2 209 in the Technologies & Applications category and 10 256 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 60 010 subscribers.
According to the latest data from 10 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -595 over the last 30 days and by -15 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 6.91%. Within the first 24 hours after publication, content typically collects 3.31% reactions from the total number of subscribers.
- Post reach: On average, each post receives 4 148 views. Within the first day, a publication typically gains 1 986 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 20.
- Thematic interests: Content is focused on key topics such as github, claude, контекст, архитектура, api.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“по всем вопросам @haarrp
@itchannels_telegram - 🔥 все ит каналы
@ai_machinelearning_big_data -ML
@ArtificialIntelligencedl -AI
@datascienceiot - 📚
@pythonlbooks
РКН: clck.ru/3Fmxm...”
Thanks to the high frequency of updates (latest data received on 11 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
def remove_duplicates(first):
if not first:
return
nextone = first
while nextone:
runner = nextone
while runner.next:
if runner.next.val == nextone.val:
runner.next = runner.next.next
else:
runner = runner.next
nextone = nextone.next
return first
Функция remove_duplicates принимает на вход один аргумент first, в который мы передаем начало списка.
Далее создаем переменную nextone, которая инициализируется значением first. nextone используем для перемещения по списку, она указывает на текущий элемент. То есть эта переменная является первым указателем. Переменная runner — второй указатель.
🟡Метод с использованием хеш-таблицы
Этот подход к удалению дубликатов в связанном списке использует хеш-таблицу, чтобы отслеживать пройденные уникальные значения.
def remove_duplicates(list_head):
if not list_head:
return
seen = set()
current = list_head
prev = None
while current:
if current.val in seen:
prev.next = current.next
else:
seen.add(current.val)
prev = current
current = current.next
return list_head
Функция remove_duplicates принимает на вход один аргумент list_head, в который мы передаем начало списка. Она проверяет, пуст ли список. Если да, она возвращает результат и завершает работу. Если в списке содержится хотя бы один элемент, функция начинает их обрабатывать.
Далее создаем множество seen, которое будем использовать для отслеживания уникальных значений связанного списка.
📎 Подробнее
@pythonllst = [1, 2, 3]
Обратимся к несуществующему элементу списка:
print(lts[4])
После выполнения кода выведется ошибка (исключение):
IndexError: list index out of range
🟡Если же нам нужно продолжить работу без вывода исключения, его следует поймать с помощью конструкции try-except. Она имеет следующий синтаксис:
try: # код, вызывающий исключение except: # обработка ошибки🟡В блоке
try следует размещать код, который может содержать исключение. Если вдруг при выполнении этого кода возникнет исключительная ситуация, то выполнение кода не остановится, а перейдет в код блока except. В данном блоке следует прописать вывод сообщения, максимально точно описывающего суть возникшей ошибки.
Если же при выполнении блока try никаких исключительных ситуаций не случилось, то полезный код просто выполнится, а код из блока except - нет.
🟡Давайте отловим наше исключение при обращении к несуществующему элементу списка. Для этого в блок try поместим код с потенциальной ошибкой. А в блоке except укажем вывод в консоль сообщения 'error: elem is not exist':
lst = [1, 2, 3]
try:
print(lst[4])
except:
print('error: elem is not exist')
После выполнения кода выведется:
'error: elem is not exist'
🟡После изучения конструкции try-except стиль написанного вами кода должен измениться. Теперь все места, в которых может возникнуть исключительная ситуация, нужно оборачивать в try, а в блоке except прописывать реакцию на это исключение.
📎 Ссылка на задачи для закрепления
@python_job_interview'1/3+2/3', как видно она содержит математическое выражение.
Существует ли в Python модуль, который вычисляет значение таких выражений?
▶️С точки зрения безопасности, производительности и гибкости лучше воспользоваться numexpr
(в отличие от eval()):
# pip install numexpr
import numexpr as ne
print(ne.evaluate('1/3+2/3'))
# 1.0
Кстати, numexpr поддерживает использование переменных, поддерживает NumPy, SciPy и т.д.
📎 Здесь подробнее про данный модуль
@pythonla + b, конкретное поведение операции + определяют типы a и b. Каждый тип в Python имеет собственную реализацию оператора + (если этот тип поддерживает +), и интерпретатор Python сам выбирает подходящую реализацию для вызова на основании типа операндов. Весь этот процесс называется динамической диспетчеризацией.
И перед тем, как произойдёт само действие a + b, под капотом происходит очень много всего, что и описывается в статье.
А вот схема выполнения операции a + b в Python:
⏩Код на Python компилируется в байт-код, исполняемый стековой виртуальной машиной (VM) в CPython. Команда BINARY_OP отвечает за исполнение операции + с двумя операндами, a и b
⏩Сама VM не знает, как выполнять + с двумя объектами. Она делегирует эту задачу абстрактному интерфейсу объектов
⏩Абстрактный интерфейс объектов в CPython определяет интерфейс, поддерживающий стандартные операции уровня объектов в CPython. Это позволяет VM единым унифицированным образом исполнять все операторы, не зная подробностей реализации системы объектов. Абстрактный интерфейс диспетчеризирует исполнение конкретной реализации внутри типов при помощи таблицы поиска указателей функций в заголовке объекта
📎 Статья
📎 Ещё одна статья в тему
@pythonl--enable-experimental-jit. Для работы JIT требуется установка LLVM в качестве дополнительной зависимости.
📎 Подробнее
@pythonl
git clone https://github.com/chm0dx/creepyCrawler.git
cd creepyCrawler
pip install -r requirements.txt
• Github
@linuxkalii
Available now! Telegram Research 2025 — the year's key insights 
