About Python [ru]
6.24K subscribers
319 photos
1.58K links
Все о Python: алгоритмы, паттерны проектирования, задачи, нейронные сети

Канал на бирже - https://telega.in/c/python_tesst

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
⚙️ Что такое dataclasses в Python и зачем они нужны?

dataclasses — это модуль, добавленный в Python 3.7, который упрощает создание классов для хранения данных. Он автоматически генерирует методы, такие как __init__, __repr__, и __eq__, на основе аннотаций типов.

➡️ Пример:

from dataclasses import dataclass

@dataclass
class Point:
x: int
y: int

point = Point(10, 20)
print(point) # Point(x=10, y=20)
print(point == Point(10, 20)) # True


🗣️ В этом примере класс Point автоматически получает методы для удобной работы с объектами, что экономит время и делает код чище.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Подборка вакансий для мидлов

Python разработчик AI/ML сервисов
Python, JavaScript, Docker, PostgreSQL
от 275 000 ₽ | Средний (Middle)

Python-разработчик (Middle)
Python, REST, Django, FastAPI, PostgreSQL, RabbitMQ, Celery, ClickHouse
от 150 000 ₽ | от 3 лет опыта

Middle+ Fullstack developer (React/TS, Python/Django)
Git, Python, TypeScript, React, Django
от 800 до 1200 $ | от 2 лет опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Проверка стиля комментариев Python с помощью pre-commit

В статье представлен инструмент для автоматизации проверки стиля комментариев в коде, что помогает сократить время на код-ревью. Разбираются примеры, принципы работы и случаи, охваченные линтером.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Следим за Telegram по-деловому

Полгода с бизнес-режимом в Telegram: 300 000 использований. Разбираем, как эффективно применять функцию и избежать блокировки аккаунта, сохранив доступ к миллионам сообщений.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Создаем своё приложение на Python(Tk)

Основы работы с Tkinter: изучаем популярную библиотеку для создания GUI-приложений на Python. В статье пошагово разберем, как разработать простое графическое приложение.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Подборка вакансий для сеньоров

Python Developer
Python, Django, SQL, Redis, RabbitMQ, Linux, HTTP, Git
от 150 000 ₽ на руки | 1–3 года

Senior Python Dev (AI, Big Data, LLM)
Python, ClickHouse, Time Series, Big Data, AI, LLM, Go
от 3 000 $ на руки | Более 6 лет

Python Developer/Data Scientist
Python, Pandas, NumPy, NLP, TensorFlow, Keras, SQL Databases, Docker, REST API
от 5 500 $ на руки | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Оптимизация запросов в DjangoORM: когда и как использовать Raw SQL

В рамках данной темы будут рассмотрены способы оптимизации запросов в DjangoORM. Основное внимание будет уделено использованию сырых SQL запросов, существующих для этого инструментов, преимуществам и недостаткам.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое модуль itertools в Python и как он используется?

itertools — это стандартный модуль Python, предоставляющий эффективные функции для работы с итераторами. Он используется для обработки последовательностей, создания комбинаций, перестановок и выполнения других задач с итерациями.

➡️ Пример:

from itertools import permutations

data = ['A', 'B', 'C']
for perm in permutations(data):
print(perm)


🗣️ В этом примере permutations из itertools генерирует все возможные перестановки элементов списка data. Это удобно для работы с комбинациями данных в алгоритмах или задачах оптимизации.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Подборка вакансий для лидов

Senior QA Python Automation Engineer
Python, pytest, selenium, requests, Linux, Docker
Уровень дохода не указан | Опыт не указан

Python Team Lead
Python, Django, Flask, PostgreSQL, MongoDB, Docker, Kubernetes, CI/CD, AWS, GCP, Azure
от 3500 до 4000 $ | от 5 лет опыта

TeamLead Backend (Python, Django)
Python, Django, FastAPI, Docker, MongoDB, Kubernetes, микросервисная архитектура
до 6000 $ | от 3 лет опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Используем языковые модели в AI-агентах. Часть 1. Введение в LangChain

В статье объясняется, что такое LangChain — фреймворк для работы с большими языковыми моделями (LLM), их интеграцией в приложения и созданием AI-агентов. Рассмотрены базовые компоненты и их применение.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Чаще объясняй свой код вслух

Кажется, что код логичен, но как только начинаешь объяснять его коллеге — сам понимаешь, где каша?

👉 Совет: делай само-ревью. Проговаривай код вслух или даже записывай видео с объяснением. Этот процесс выявляет неочевидные баги и улучшает твоё понимание логики.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Сравнение Bash и Python при написании скпритов в Linux

Командный интерпретатор Bash и язык программирования Python — два ключевых инструмента в работе с Linux-системами. В статье сравниваются их возможности для скриптов и системных задач.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Вебсокеты на FastAPI: Реализация простого чата с комнатами за 20 минут

Хотите разобраться с WebSocket и написать свой чат с комнатами? Разбираем разницу с HTTP, поднимаем сервер на FastAPI, создаём FullStack-чат и деплоим за пару минут. Всё просто, даже если вы новичок.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задачка по Python

Напишите функцию, которая принимает список чисел и возвращает второе наибольшее число. Если в списке меньше двух уникальных чисел, функция должна вернуть None.

➡️ Пример:

[10, 20, 4, 45, 99]
45

[5, 5, 5]
None


Решение задачи ⬇️

def find_second_largest(numbers):
# Удаляем дубликаты и сортируем список в порядке убывания
unique_numbers = sorted(set(numbers), reverse=True)
# Если уникальных чисел меньше двух, возвращаем None
return unique_numbers[1] if len(unique_numbers) >= 2 else None

# Пример использования:
print(find_second_largest([10, 20, 4, 45, 99])) # Ожидаемый результат: 45
print(find_second_largest([5, 5, 5])) # Ожидаемый результат: None
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Укрощение монстров: мониторинг и управление ресурсоемкими запросами в Django + PostgreSQL

Каждый Django-разработчик рано или поздно сталкивается с неожиданно «тяжелыми» запросами, способными превратить быстрое приложение в неповоротливого слона. Рассказываем, как с помощью django-pgactivity выследить и обезвредить такие запросы, прежде чем они создадут проблемы вашим пользователям.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задачка по Python

Создайте Python-скрипт, который проверяет доступность указанного веб-сервера и отправляет уведомление на почту, если сервер недоступен. Скрипт должен выполнять проверку каждые 5 минут и отправлять уведомление только один раз, если сервер падает, а затем повторно — только когда сервер снова станет доступен.

➡️ Пример:

python monitor.py https://example.com — проверяет доступность сервера по адресу https://example.com, отправляет уведомление на почту, если сервер перестаёт отвечать, и повторно уведомляет при восстановлении работы.

Решение задачи ⬇️

import requests
import time
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import sys

# Настройки для отправки уведомлений
SMTP_SERVER = '
smtp.example.com'
SMTP_PORT = 587
EMAIL = '
your-email@example.com'
PASSWORD = 'your-password'
TO_EMAIL = '
recipient@example.com'

# Функция для отправки уведомления
def send_notification(subject, message):
msg = MIMEMultipart()
msg['From'] = EMAIL
msg['To'] = TO_EMAIL
msg['Subject'] = subject
msg.attach(MIMEText(message, 'plain'))

with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
server.starttls()
server.login(EMAIL, PASSWORD)
server.sendmail(EMAIL, TO_EMAIL, msg.as_string())
print(f"Уведомление отправлено: {subject}")

# Функция для проверки доступности сервера
def check_server(url):
try:
response = requests.get(url, timeout=5)
return response.status_code == 200
except requests.RequestException:
return False

# Основная функция мониторинга
def monitor(url):
server_is_down = False

while True:
is_up = check_server(url)

if is_up and server_is_down:
send_notification("Сервер восстановлен", f"Сервер {url} снова доступен.")
server_is_down = False
elif not is_up and not server_is_down:
send_notification("Сервер недоступен", f"Сервер {url} перестал отвечать.")
server_is_down = True

time.sleep(300) # Проверка каждые 5 минут

if __name__ == "__main__":
if len(sys.argv) < 2:
print("Укажите URL сервера для мониторинга.")
sys.exit(1)

url = sys.argv[1]
monitor(url)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

Python-разработчик (Junior/Middle)
🟢Python, GPT, AI, Web3, SQL
🟢от 1 500 до 3 100 $ | Опыт работы: 1–3 года

Junior Python Developer
🟢Python, PostgreSQL, Redis, Go, AWS
🟢Уровень дохода не указан | Опыт работы: 1–3 года

Computer Vision Engineer (Junior/Junior+)
🟢Python, PyTorch, OpenCV, Machine Learning, Deep Learning, Git
🟢от 115 000 до 200 000 ₽ | Опыт работы: 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Бот для создания стикеров и мемов на Python

Разбираемся, как с помощью Python и библиотеки Pillow сделать Telegram-бота, который мгновенно превращает изображения в мемы или стикеры. Отличный инструмент для быстрой и забавной реакции в чатах.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM