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 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) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
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_codedb_user и базу данных test_db
Для этого войдёт в консоль psql от пользователя postgres
# su postgres -c psql
и запустим такие SQL-команды:
CREATE USER db_user WITH PASSWORD 'yourPassword';
CREATE DATABASE test_db OWNER db_user;
Затем в каталоге веб-сервера, где хранятся скрипты Python, создадим файл dbconnection.py (и не забываем про chmod 755 !!!) со следующим содержимым:
#!/usr/bin/python3
print('Content-Type: text/html; charset=utf-8 \r\n')
print('<h1>Подключение к БД PostgreSQL</h1>')
import psycopg2 as pgsql
from psycopg2 import OperationalError
try:
connection = pgsql.connect(database='test_db', user='db_user', password='yourPassword', host='localhost', port='5432')
print('<h2>Подключение к базе данных выполнено успешно</h2>')
connection.close()
except OperationalError as error:
print(f'<h2>Ошибка подключения к БД: {error} </h2>')
Проверяем. Запускаем браузер, вводим адрес веб-сервера и путь к скриптам и дописываем после слеша dbconnection.py:
http://IP_или_имя_хоста/scripts/dbconnection.py
В браузере мы должны будем увидеть такую строчку:
Подключение к БД прошло успешно.
@pro_python_codeimport time
start_time = time.time()
# Ваш код, время выполнения которого нужно измерить
end_time = time.time()
execution_time = end_time - start_time
print(f"Время выполнения: {execution_time} секунд")
🔵 Модуль timeit предназначен специально для измерения времени выполнения небольших фрагментов кода. Он предоставляет функцию timeit(), которая автоматически повторяет выполнение кода несколько раз и возвращает среднее время выполнения:
import timeit
code_to_test = """
# Код, время выполнения которого нужно измерить
"""
execution_time = timeit.timeit(code_to_test, number=1000)
print(f"Среднее время выполнения: {execution_time} секунд")
🔵 Модуль line_profiler предоставляет декоратор @profile, который можно использовать для профилирования кода и измерения выполнения каждой строки. Чтобы использовать этот декоратор, необходимо установить line_profiler с помощью pip install line_profiler:
import line_profiler
@profile
def your_function():
# Ваш код, время выполнения которого нужно измерить
pass
your_function()
✅ Измерение времени выполнения влияет на выполнение программы, поэтому его следует использовать только для профилирования и оптимизации кода, а не включать в окончательную версию программы. Это позволит оценить производительность кода и найти места для оптимизации в целях улучшения скорости выполнения.
@pro_python_codedef containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
uniqueSet = set()
for i in nums:
if i in uniqueSet:
return True
else:
uniqueSet.add(i)
return False
Тогда наше решение будет зависеть от размера списка: O(n). n – количество элементов в списке.
• В другом решении мы просто сравниваем длину множества списка и длину списка.
len(set(list_name)) == len(list_name)
Учитывая природу множества, которое не может содержать дубликатов, это было бы простым решением. Нам необходимо обратить внимание на функцию len(), которая использовалась для определения длины списка. Эта встроенная функция не зависит от размера списка. Независимо от того, содержит ли ваш список 1 элемент или 1000, согласно стандартной реализации Python (CPython), временная сложность равна O(1).
За счет чего это возможно?
ЧитатьPIP INSTALL CUSTOMTKINTER
• Импорт необходимых библиотек
На этом этапе импортируем все библиотеки, которые понадобятся для создания продвинутого GUI:
- Библиотеку CustomTkinter, только что установленную с помощью команды pip.
- Библиотеку Tkinter, которую можно использовать одновременно с модулем CustomTkinter, поскольку некоторые функции являются производными друг от друга.
- Библиотеку Pillow, которая является одной из лучших библиотек Python для обработки различных типов задач, связанных с изображениями. Из библиотеки Pillow импортируем классы ImageTk и Image, что позволит обрабатывать задачи внутри GUI.
# Импортирование библиотеки CustomTkinter для создания продвинутого GUI.
import tkinter
from PIL import ImageTk, Image
• Установка темы и создание фона интерфейса и последующие шагиpip3 install python-telegram-bot
• После установки вставьте этот код в файл telegram-bot.py:
import logging
import os
from telegram import Update
from telegram.ext import (ApplicationBuilder, CommandHandler, ContextTypes,
MessageHandler, filters)
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
TELEGRAM_API_TOKEN = os.getenv("TELEGRAM_API_TOKEN")
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await context.bot.send_message(chat_id=update.effective_chat.id, text="I'm a bot, please talk to me!")
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE):
await context.bot.send_message(chat_id=update.effective_chat.id, text=update.message.text)
if __name__ == '__main__':
application = ApplicationBuilder().token(TELEGRAM_API_TOKEN).build()
start_handler = CommandHandler('start', start)
echo_handler = MessageHandler(filters.TEXT & (~filters.COMMAND), echo)
application.add_handler(start_handler)
application.add_handler(echo_handler)
application.run_polling()
Продолжение
@pro_python_codeimport random
def hangman():
words = ['python', 'hangman', 'programming', 'code']
word = random.choice(words)
guesses = ''
attempts = 6
while attempts > 0:
for char in word:
if char in guesses:
print(char, end=' ')
else:
print('_', end=' ')
print()
guess = input("Guess a letter: ")
guesses += guess
if guess not in word:
attempts -= 1
if set(word) <= set(guesses):
print("Congratulations! You guessed the word.")
break
elif attempts == 0:
print("Sorry, you ran out of attempts. The word was", word)
hangman()
2. Калькулятор
Инструкции: Постройте простой калькулятор, выполняющий основные арифметические операции (+, -, *, /) над двумя числами.
def calculator():
num1 = float(input("Enter the first number: "))
operator = input("Enter an operator (+, -, *, /): ")
num2 = float(input("Enter the second number: "))
if operator == '+':
print(num1 + num2)
elif operator == '-':
print(num1 - num2)
elif operator == '*':
print(num1 * num2)
elif operator == '/':
print(num1 / num2)
else:
print("Invalid operator")
calculator()
3. Угадайте число
Инструкции: Создайте игру, в которой компьютер генерирует случайное число, а игрок пытается угадать его за определенное количество попыток.
import random
def guess_the_number():
number = random.randint(1, 100)
attempts = 0
while True:
guess = int(input("Take a guess: "))
attempts += 1
if guess < number:
print("Too low!")
elif guess > number:
print("Too high!")
else:
print("Congratulations! You guessed the number in", attempts, "attempts.")
break
guess_the_number()
4. Список дел
Инструкции: Создать приложение для составления списка дел, позволяющее пользователю добавлять, просматривать и удалять задачи.
def todo_list():
tasks = []
while True:
print("1. Add a task")
print("2. View tasks")
print("3. Remove a task")
print("4. Quit")
choice = input("Enter your choice: ")
if choice == '1':
task = input("Enter a task: ")
tasks.append(task)
elif choice == '2':
if tasks:
print("Tasks:")
for task in tasks:
print(task)
else:
print("No tasks.")
elif choice == '3':
if tasks:
task = input("Enter the task to remove: ")
if task in tasks:
tasks.remove(task)
print("Task removed.")
else:
print("Task not found.")
else:
print("No tasks.")
elif choice == '4':
break
else:
print("Invalid choice. Try again.")
todo_list()
Продолжение