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 379 名订阅者,在 技术与应用 类别中位列第 9 841,并在 俄罗斯 地区排名第 52 034 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 12 379 名订阅者。
根据 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),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
list[start:end:step]
• start: индекс первого контролируемого элемента в списке;
• end: индекс первого элемента вне зоны контроля;
• step: шаг сортировки.
Предположим, есть список с числами от 0 до 9, необходимо выбрать только четные числа. Сделать это можно так:
my_list: list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers: list = my_list[::2] # [0, 2, 4, 6, 8]
Здесь мы не указываем начальный и конечный индексы. Поэтому Python считает стартовым первый элемент, а конечным — последний (т. е. весь список). Затем указываем шаг — 2. Поэтому Python начнет с первого элемента и вернет его (т. е. 0). Затем переместится на 2 шага (перейдет к 1, а затем к 2) и вернет результат (т. е. 2). Этот процесс повторяется до конца списка.
☝️Еще один мощный трюк с пошаговым списком — инвертированный список через отрицательную индексацию.
my_list: list = [1, 2, 3, 4, 5]
reversed_list: list = my_list[::-1] # [5, 4, 3, 2, 1]
Скрытая функция 2: связывание операторов сравнения
В программировании часто приходится выполнять множественные сравнения как часть логического потока.
Предположим, есть переменная x, и мы хотим убедиться, что x больше 1, но меньше 10. Обычно делают что-то вроде:
x: int = 5
condition1: bool = x > 1 # проверить, что х больше 1
condition2: bool = x < 10 # проверить, что х меньше 10
print(condition1 and condition2) # True
Python позволяет объединить сравнения:
x: int = 5
print(1 < x < 10) # True
print(10 < x < 20) # False
Также можно сделать что-то вроде:
x: int = 5
print(5 == x > 4) # True
print(x < 10 < x*10 < 100) # True
Скрытая функция 3: комплексные/мнимые числа
Всем, кто изучал математику, знакомо понятие комплексных чисел. Интересная особенность Python, о которой многие не подозревают, заключается в том, что он полностью поддерживает комплексные числа.
В математике для представления комплексного числа обычно используют символ i. В Python мы используем j или вызываем функцию complex().
# Создание комплексных чисел
z1 = 2 + 3j
z2 = complex(4, -2) # (4 -2j)
# Доступ к действительным и мнимым частям
print(z1.real) # 2.0
print(z1.imag) # 3.0
# Арифметика с комплексными числа
z3 = z1 + z2 # (6+1j)
z4 = z1 * z2 # (14+8j)
z5 = z1 / z2 # (0.1+0.8j)
# Сопряжение комплексного числа
z6 = z1.conjugate() # (2-3j)
Скрытая функция 4: доступ к последнему результату по символу “_”
Возможно, вы замечали, что многие программисты резервируют символ _ в качестве заполнителя некоторых переменных, которые не используются или не нужны в процессе выполнения программы.
Между тем (и многие об этом не знают), по умолчанию Python присваивает результат последнего выполнения переменной этому символу _.
x: int = 5
y: int = 99
x + y # 104
print(_) # 104
Скрытая функция 5: распаковка аргумента
Предположим, есть некоторая произвольная функция:
def my_sum(a, b, c):
return a + b + c
Есть список из 3 чисел, которые нужно передать функции. Обычно пишут:
my_list = [1, 2, 3]
result = my_sum(my_list[0], my_list[1], my_list[2])
print(result) # 6
Вместо этого в Python можно сделать так:
result = my_sum(*my_list)
print(result) # 6
Символ * распаковывает весь список и передает каждый элемент в качестве параметра функции. Далее также можно распаковать словарь с помощью **.
# Пример распаковки аргумента словаря
def my_func(a, b, c):
print(f"a={a}, b={b}, c={c}")
my_dict = {'a': 1, 'b': 2, 'c': 3}
my_func(**my_dict)git clone https://github.com/gnebbia/pdlist
cd pdlist
pip install -r requirements.txt
python setup.py install
▪Github
#infosec #pentesting #bugbounty
@pro_python_codeimport solara
text_input = solara.reactive("")
todos = solara.reactive([
{ "text": solara.reactive("Learn Solara"), "done": solara.reactive(False) },
{ "text": solara.reactive("Build a Solara app"), "done": solara.reactive(False) }
])
Page()
Затем определяем основной компонент с именем Page:
@solara.component
def Page():
# добавление css
solara.Style("""
.add-button {
margin-right: 10px;
}
""")
# центрирование карты
with solara.Column(align="center"):
with solara.Card(title="Todo App"):
for todo in todos.value:
Todo(todo)
if len(todos.value) == 0:
solara.Text("No todos yet.")
solara.InputText(label="Add a todo", value=text_input),
solara.Button("Add", on_click=on_add_todo, classes=["primary", "add-button"]),
solara.Button("Remove finished tasks", classes=["secondary"], on_click=clear_finished_todos),
Page()
Рассмотрим код шаг за шагом.
👇
Читать# File: views.py
from django.http import JsonResponse
def hello_view(request):
return JsonResponse({"message": "Hello, Django!"})
# File: myproject/urls.py
from django.urls import path
from myapp.views import hello_view
urlpatterns = [
path('hello/', hello_view, name='hello'),
]
Flask: легкий микрофреймворк
Flask – это микрофреймворк, в котором приоритет отдается простоте и гибкости, а не встроенной функциональности. Это означает, что разработчики могут выбирать инструменты и расширения по мере необходимости, что делает его идеальным для малых и средних проектов.
Примеры использования
• Прототипирование: Минимальный объем кодового кода Flask делает его отличным выбором для быстрого создания прототипов и разработки пробных версий.
• RESTful API: Легкий дизайн Flask и широкая поддержка таких расширений, как Flask-RESTful, позволяют разработчикам создавать эффективные REST API.
• Одностраничные приложения (SPA): Flask может выступать в качестве бэкенда для SPA, используя преимущества своей простоты и легкой интеграции с фреймворками фронтенда.
Pinterest, популярная платформа для поиска контента, использует Flask для эффективной работы с бэкэнд-операциями, демонстрируя способность к масштабированию и оптимизации производительности.
Образец кода
Приведенный ниже код на языке Python является примером веб-приложения, созданного с использованием Flask. В нем создается экземпляр класса Flask и определяется маршрут с именем “hello”. При обращении к маршруту “hello” с помощью GET-запроса приложение возвращает JSON-ответ с парой ключ-значение “message” и “Hello, Flask!”.
# File: app.py
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/hello', methods=['GET'])
def hello():
return jsonify({"message": "Hello, Flask!"})
Читать про остальные# определяем список чисел
numbers: list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# также определяем переменную-флаг, которая укажет, было ли найдено четное число
found_even: bool = False
for num in numbers:
# если остаток после деления на 2 равен 0, то число четное
if num % 2 == 0:
print(f"{num} is even")
# устанавливаем флаг в True, потому что нашли четное число
found_even = True
# мы можем остановить выполнение, потому что нашли четное число
break
# если значение флага False, то четных чисел не найдено
if not found_even:
print("No even numbers found")
🟠Эта логика относительно проста. Применяем флаг (в данном случае переменная found_even) для обозначения того, найдено ли четное число или нет. Если в процессе итерации находится четное число, используем ключевое слово break, чтобы остановить выполнение цикла.
Вышеприведенное можно записать следующим образом:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
print(f"{num} is even")
break
else:
print("No even numbers found")
🟠Теперь переменная-флаг found_even больше не требуется. Мы можем использовать ключевое слово else, чтобы вывести “Четные числа не найдены” только в том случае, если ключевое слово break так и не будет задействовано в процессе итерации цикла.
Секрет 2. Оператор walrus
🟠Оператор walrus (:=) был введен в версию Python 3.8. Он используется для назначения переменных со значениями в качестве выражений.
Рассмотрим следующий пример. Нам необходимо реализовать логику, которая генерирует последовательность случайных чисел до тех пор, пока не будет сгенерировано определенное число.
🟠Предположим, нам нужно получить 10. Обычно пишем что-то вроде:
import random
rand = None
while True:
# генерация случайного числа от 1 до 100
rand = random.randint(1, 100)
# если случайное число равно 10, прервать выполнение
if rand != 10:
print(rand)
else:
break
# это будет выполнено только в том случае, если мы получим 10 и прервем цикл
print("We got a 10!")
Генерируем в цикле случайное число и сохраняем его в переменной rand. Количество итераций зависит от значения переменной rand. Чем быстрее rand станет равным 10, тем быстрее прервем цикл.
🟠Теперь с помощью оператора walrus получим ту же функциональность, используя приведенный ниже код:
import random
while (rand := random.randint(1, 100)) != 10:
print(rand)
print("We got a 10!")
Здесь сообщаем Python, что хотим, чтобы цикл while выполнялся до тех пор, пока значение rand не станет равно 10. Кроме того, сообщаем ему, что rand будет получать свое значение из random.randint(1, 100) с каждой новой итерацией.
📌 Секрет 3. Многоточие (и др. секреты)import matplotlib.pyplot as plt
import seaborn as sns
import scipy
import re
import missingno as mso
from scipy import stats
from scipy.stats import ttest_ind
from scipy.stats import pearsonr
from sklearn.preprocessing import StandardScaler,LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
from sklearn.ensemble import GradientBoostingClassifier
from xgboost import XGBClassifier
from sklearn.metrics import accuracy_score,confusion_matrix,classification_report
import pandas as pd
• Чтение CSV-файла
data=pd.read_csv("/content/seattle-weather.csv")
data.head()
• Форма данных
data.shape
(1461, 6)
import warnings
warnings.filterwarnings('ignore')
sns.countplot("weather",data=data,palette='hls')
📌Продолжение
@pro_python_code