Python Portal
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3GMMF6
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Python Portal
تُعد قناة Python Portal (@pythonportal) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 50 919 مشتركاً، محتلاً المرتبة 2 540 في فئة التكنولوجيات والتطبيقات والمرتبة 12 053 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 50 919 مشتركاً.
بحسب آخر البيانات بتاريخ 30 أغسطس, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -422، وفي آخر 24 ساعة بمقدار -37، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 9.45%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 4.69% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 4 811 مشاهدة. وخلال اليوم الأول يجمع عادةً 2 390 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 20.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل строка, none, true, модуль, peter.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Всё самое интересное из мира Python
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3GMMF6”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 31 أغسطس, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
.exception() вместо .error(), чтобы в лог вместе с исключением попадал traceback
Пример:
import logging
LOGGER = logging.getLogger()
try:
{}["not_present"]
except Exception as exc:
LOGGER.error(exc) # только сообщение об ошибке
# -> 'not_present'
try:
{}["not_present"]
except Exception as exc:
LOGGER.exception(exc) # сообщение + traceback
# -> 'not_present'
# Traceback (most recent call last):
# File "my_module.py", line 12, in <module>
# KeyError: 'not_present'
👉 @PythonPortalfor
👉 @PythonPortalpip install matplotlib
Шаг 2. Импортируй pyplot
import matplotlib.pyplot as plt
Шаг 3. Подготовь данные
categories = ['A', 'B', 'C', 'D', 'E']
values = [10, 15, 7, 12, 20]
Шаг 4. Задай цвета для столбцов
colors = ['red', 'blue', 'green', 'orange', 'purple']
Шаг 5. Построй диаграмму
plt.figure(figsize=(6,4))
plt.bar(categories, values, color=colors)
Шаг 6. Добавь подписи и заголовок
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Colored Bar Graph')
Шаг 7. Покажи график
plt.show()
👉 @PythonPortal$ git clone https://github.com/NativeSensors/EyeGestures.git
$ cd EyeGestures
$ pip install -r requirements.txt
или
python3 -m pip install eyeGestures
Открытый код, документация и примеры использования - тык
👉 @PythonPortalgit config --global user.name "Your Name"
Задаёт имя для коммитов глобально (для всех репозиториев).
- git config --global user.email "you@example.com"
Задаёт email для коммитов глобально.
- git config --list
Показывает все настройки конфигурации Git.
🔸Репозиторий и удалённые репозитории
- git init
Инициализирует новый Git-репозиторий в текущей директории.
- git clone <repo>
Создаёт локальную копию удалённого репозитория.
- git remote add <name> <url>
Добавляет новый удалённый репозиторий с именем и URL.
- git remote remove <name>
Удаляет удалённый репозиторий по имени.
- git remote rename <old-name> <new-name>
Переименовывает удалённый репозиторий.
🔸Ветки
- git branch
Список всех веток в репозитории.
- git branch <branch-name>
Создаёт новую ветку с указанным именем.
- git checkout -b <branch-name>
Создаёт новую ветку и сразу переключается на неё.
- git checkout <branch-name>
Переключается на указанную ветку.
- git merge <branch>
Сливает изменения из указанной ветки в текущую.
- git rebase <branch>
Переносит коммиты из текущей ветки поверх другой.
- git branch -d <branch-name>
Удаляет ветку, которая уже была слита.
- git branch -D <branch-name>
Принудительно удаляет ветку, независимо от её состояния.
🔸Индексация и коммиты
- git add <file>
Добавляет изменения в указанный файл в staging.
- git add .
Добавляет все изменения в текущей директории и подпапках.
- git commit -m "message"
Фиксирует проиндексированные изменения с сообщением.
- git commit --amend
Изменяет последний коммит (сообщение или содержимое).
🔸Отмена изменений
- git reset <file>
Убирает файл из staging (оставляет изменения).
- git reset HEAD~1
Отменяет последний коммит, но сохраняет изменения в рабочей директории.
🔸Просмотр изменений
- git status
Показывает состояние рабочего каталога и staging.
- git diff
Показывает различия между рабочей директорией и индексом.
- git diff --staged
Показывает различия между staged-изменениями и последним коммитом.
🔸История
- git log
Показывает историю коммитов текущей ветки.
- git log --oneline
Сокращённый лог (одна строка на коммит).
- git show <commit>
Показывает информацию о конкретном коммите.
- git blame <file>
Показывает последнюю модификацию для каждой строки файла.
🔸Stash
- git stash
Сохраняет текущие изменения во временное хранилище.
- git stash list
Список всех stash-записей.
- git stash apply
Применяет изменения из последнего stash.
- git stash drop
Удаляет конкретный stash.
- git stash pop
Применяет последний stash и удаляет его.
🔸Работа с удалённым репозиторием
- git pull
Загружает изменения из удалённого репозитория и сливает их.
- git push
Отправляет локальные коммиты в удалённый репозиторий.
- git push origin <branch>
Отправляет указанную ветку в удалённый репозиторий.
- git fetch
Загружает изменения из удалённого репозитория без слияния.
- git fetch --all
Обновляет все удалённые репозитории.
🔸Теги
- git tag <tag-name>
Создаёт тег для определённого коммита.
- git tag -a <tag-name> -m "message"
Создаёт аннотированный тег с сообщением.
- git push origin <tag-name>
Отправляет тег в удалённый репозиторий.
- git tag -d <tag-name>
Удаляет тег локально.
🔸Продвинутые команды
- git cherry-pick <commit>
Применяет изменения из указанного коммита в текущую ветку.
- git rebase -i HEAD~n
Интерактивный rebase для последних *n* коммитов.
- git reflog
Показывает журнал всех действий в репозитории.
- git bisect
Позволяет найти коммит с багом методом бинарного поиска.
- git describe
Показывает последний тег, доступный для коммита.
👉 @PythonPortalumbers = [1, 2, 3]
reversed_numbers = reversed(numbers)
print(list(reversed_numbers)) # [3, 2, 1]
print(list(reversed_numbers)) # [] — итератор уже пуст
После одного прохода итератор «заканчивается» и повторно использовать его нельзя.
Чтобы пройтись снова, нужно создать новый итератор:
reversed_numbers = reversed(numbers)
print(list(reversed_numbers)) # [3, 2, 1] снова работает
👉 @PythonPortalimport pyautogui
import time
def click():
time.sleep(0.1)
pyautogui.click()
def main():
for i in range(20):
click()
main()
Документация тут: https://pyautogui.readthedocs.io/en/latest/
👉 @PythonPortalimport pandas as pd
df = pd.read_csv('data.csv') # Загрузить CSV
df.head(5) # Первые 5 строк
df.info() # Типы данных и количество null
df.describe() # Сводная статистика
2. Работа с пропусками и дубликатами
df.isnull().sum() # Посчитать пропуски
df.dropna() # Удалить строки с null
df.fillna(0) # Заполнить пропуски нулями
df.duplicated().sum() # Посчитать дубликаты
df.drop_duplicates() # Удалить дубликаты
3. Переименование и приведение типов
df.rename(columns={'old': 'new'}) # Переименовать колонку
df.astype({'col': 'int'}) # Сменить тип данных
df.columns.str.strip() # Убрать пробелы
4. Фильтрация и выборка
df.loc[df['col'] > 100] # Фильтр по условию
df.iloc[0:5] # Выбор по индексу строк
df['col'].isin(['A', 'B']) # Фильтр по значениям
5. Сортировка и группировка
df.sort_values('col') # Сортировка по возрастанию
df.groupby('group')['val'].mean() # Группировка и агрегация
df['col'].value_counts() # Подсчёт уникальных значений
6. Операции с колонками
df['new'] = df['col1'] + df['col2'] # Новая колонка
df['col'] = df['col'].apply(lambda x: x*2) # Применить функцию
df.drop('col', axis=1) # Удалить колонку
7. Сохранение очищенных данных
df.to_csv('cleaned.csv', index=False) # Экспорт в CSV
👉 @PythonPortal/ в сигнатуре функции.
def add(x, y, /):
return x + y
add(1, 2)
add(x=1, y=2) # TypeError: add() got some positional-only arguments passed as keyword arguments: 'x, y'
👉 @PythonPortal