Python RU
Все для python разработчиков админ - @haarrp @python_job_interview - Python собеседования @ai_machinelearning_big_data - машинное обучение @itchannels_telegram - 🔥лучшие ит-каналы @programming_books_it - it книги @pythonl РКН: clck.ru/3Fmy2j
نمایش بیشتر📈 تحلیل کانال تلگرام Python RU
کانال Python RU (@pro_python_code) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 12 376 مشترک است و جایگاه 9 841 را در دسته فناوری و برنامهها و رتبه 52 034 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 12 376 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 30 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -49 و در ۲۴ ساعت گذشته برابر -7 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 7.54% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 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