Python RU
Все для python разработчиков админ - @haarrp @python_job_interview - Python собеседования @ai_machinelearning_big_data - машинное обучение @itchannels_telegram - 🔥лучшие ит-каналы @programming_books_it - it книги @pythonl РКН: clck.ru/3Fmy2j
显示更多📈 Telegram 频道 Python RU 的分析概览
频道 Python RU (@pro_python_code) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 12 376 名订阅者,在 技术与应用 类别中位列第 9 841,并在 俄罗斯 地区排名第 52 034 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 12 376 名订阅者。
根据 30 八月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -49,过去 24 小时变化为 -7,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 7.54%。内容发布后 24 小时内通常能获得 3.16% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 933 次浏览,首日通常累积 391 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 6。
- 主题关注点: 内容集中在 api, docker, github, sql, linux 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Все для python разработчиков
админ - @haarrp
@python_job_interview - Python собеседования
@ai_machinelearning_big_data - машинное обучение
@itchannels_telegram - 🔥лучшие ит-каналы
@programming_books_it - it книги
@pythonl
РКН: clck.ru/3Fmy2j”
凭借高频更新(最新数据采集于 31 八月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
large_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
if 5 in large_list:
print("5 найден в списке.")
else:
print("5 не найден в списке.")
То же применимо и для множеств (set):
large_set = set(large_list)
if 5 in large_set:
print("5 найден в множестве.")
else:
print("5 не найден в множестве.")
Автоматическое добавление ключа словарю
Если создать словарь средствами collections.defaultdict, добавить хотя бы один элемент, а затем обратиться к несуществующему ключу:
from collections import defaultdict
my_dict = defaultdict(int)
my_dict['apple'] = 3
my_dict ['banana' ] = 2
print(my_dict['orange'])
print(my_dict)
то интерпретатор самостоятельно добавит новый элемент:
... 0
... defaultdict(<class 'int'>, {'apple': 3, 'banana': 2, 'orange': 0})
try / except + else + finally
Мастхэв для начинающих питонистов — пара try / except, обработчик исключений. Шикарным дополнением к такому блоку является, на мой взгляд, else: он опишет поведение программы на случай других ошибок, которых может быть немало!
Более того, добавив finally, вы выполните завершающие работы, например, скомандуете выслать уведомление:
try:
>>> result = 10 / 2
>>> except ZeroDivisionError:
>>> print( "Ошибка: деление на ноль невозможно.")
>>> else:
>>> print("Результат:", result)
>>> finally:
>>> print( "Программа выполнена.")
... Результат: 5.0
... Программа выполнена.
Проверка существования переменной с помощью «моржового» оператора
Если мы объявили две переменные, но не задали любой из них значение, то с помощью оператора := (Walrus Operator) можно спасти программу от падения и добавить обрабатывающую логику. В первом случае, в переменные name1, name2 мы ничего не записали, значит, программа зайдет в блок else:
>>> if name == '__main__':
>>> name1, name2 = '', ''
>>>
>>> if name := name1 or name2:
>>> print(name1)
>>> print('Успешно!')
>>> else:
>>> print('Имя не найдено...')... Имя не найдено...
Во втором случае заполнена только одна из переменных, но программа отработает без ошибки:
>>> if name == '__main__':
>>> name1, name2 = 'Сергей', ''
>>>
>>> if name := name1 or name2:
>>> print(name1)
>>> print('Успешно!')
>>> else:
>>> print('Имя не найдено...')
... Сергей
... Успешно!
Оператор match для проверки типа
Теперь освоение новых библиотек у вас точно ускорится.
Порой, трудно понять, какой тип данных возвращает функция или метод. В таких случаях помогают match и встроенные функции приведения к тому или иному типу данных:
>>> var = 1
>>>
>>> match var:
>>> case str():
>>> print('Строковый тип')
>>> case bool():
>>> print('Булевый тип')
>>> case float():
>>> print('Число с плавающей запятой')
>>> case int():
>>> print('Целочисленный тип')
>>> case list():
>>> print('Список')
>>> case None:
>>> print("None")
>>> case _:
>>> print('Другой тип данных')... Целочисленный тип
Встроенные функции попытаются привести к своему значению переменную. Но если положить в var единицу, как примере выше, то мы минуем float().
Чтобы программа не упала, стоит заложить дальнейшую обработку var только в подходящие функции-наследнице кейсы.
Включение генераторов, сетов
В предыдущей статье с фишками я рассказывала, что есть эффективный способ генерировать списки — «списковое включение» (List Comprehension):
names = ['Данил','Михаил', 'Оля']
[x for x in names if"a"in x]] # Выберет имена, где есть "а"... ['Данил', 'Михаил']
Оказывается, этому поддаются и другие составные типы — генераторы и сеты.
>>> s = {s*2 for s in range(10)} # Перемножит числа 1-10 на два
>>> print(s)
... {0, 2, 4, 6, 8, 10, 12, 14, 16, 18}
@pro_python_codem = 3
# don't use this
if m == 1 or m == 2 or m == 3 or m == 4:
print("if statement 1")
# use this
if m in [1, 2, 3, 4]:
print("if statement 1")
• Обмен двумя переменными
Python предоставляет возможность делать назначения и менять их местами в одной строке.
x, y = 5, 10
print(x, y) # 5 10
x, y = y, x
print(x, y) # 10 5
• Использование тернарного оператора для условного присваивания
Тернарные операторы – это краткое обозначение операторов if-else в одной строке.
# if_true if expression else if_false
condition = True
print("Condition is True" if condition else "Condition is False")
• Перечисление встроенных функций
С помощью перечислителей можно работать как с индексом, так и со значением, когда вы находитесь в цикле.
my_list = [10, 20, 30, 40]
for i, value in enumerate(my_list):
print(i, value)
# 0 10
# 1 20
# 2 30
# 3 40
• Функция Zip
Функция zip объединяет элементы из нескольких итерируемых объектов в кортежи.
list1 = [1, 2, 3, 4, 5]
list2 = [5, 4, 3, 2, 1]
print(zip(list1, list2))
# [(1, 5), (2, 4), (3, 3), (4, 2), (5, 1)]
• Создание словарей с помощью функции Zip
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
# {1:4, 2:5, 3:6}
print(dict(zip(tuple1, tuple2)))!pip install nltk
!pip install pandas
import pandas as pd
import nltk
from nltk.tokenize import sent_tokenize,word_tokenize
from nltk.stem import PorterStemmer
from nltk.corpus import stopwords
import re
Обзор данных
▪Следующим этапом проекта будет загрузка датасета. В данном случае мы будем использовать набор данных твитов о катастрофах из Kaggle.
▪Мы можем загрузить наш датасет с помощью библиотеки pandas.
df = pd.read_csv("/train.csv")
▪Для того чтобы получить общее представление о данных, мы можем просмотреть верхние строки набора данных с помощью функции head в pandas:
df.head(10)
Для анализа столбца ключевых слов мы используем библиотеку seaborn, которая позволяет визуализировать распределение ключевых слов и их корреляцию с целью.
plt.figure(figsize=(10,70))
sns.countplot(data=df,y="keyword",hue="target",saturation=0.50)
plt.legend(bbox_to_anchor=(1.02, 1), loc='upper left', borderaxespad=0)
plt.show()
📌 Продолжение
@data_analysis_ml