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

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

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
👩‍💻 Пишем небольшое приложение на Python для повышения продуктивности с помощью ИИ и BotHub API

Статья объясняет, как создать приложение для автоматического анализа онлайн-встреч. Используя API BotHub (Whisper-1 + Claude 3.5 Sonnet), вы научитесь извлекать ключевые идеи, распределять задачи и генерировать отчёты в формате PDF.

Читать...
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
👩‍💻 Зачем нужны эмбеддинги?

Статья исследует методы нечеткого поиска для больших языковых моделей, включая триграммный и фонетический анализ, косинусное и евклидово сходство. Рассматриваются преимущества и ограничения методов для работы с неструктурированными данными.

Читать...
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
🔎 Подборка вакансий для джунов

Full-stack Python разработчик Junior/Junior+
🟢Python, CSS, HTML, SQL, Linux
🟢от 50 000 ₽ до вычета налогов | 1–3 года опыта

Junior Python разработчик
🟢Python, FastAPI, MongoDB, Redis, RabbitMQ, GitLab
🟢до 80 000 ₽ на руки | 1–3 года опыта

Junior Python разработчик
🟢Python, FastAPI, SQL, Hasura, Vue.js, Docker, Git
🟢от 45 000 до 60 000 ₽ на руки | 1–3 года опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Двусвязный список в Python: простой инструмент для сложных задач

Эта статья написана для новичков, которые только начинают осваивать структуры данных на Python. Сегодня мы рассмотрим замечательную и очень полезную структуру — двусвязный список.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как работает менеджер контекста (context manager) в Python?

В Python менеджеры контекста используются для управления ресурсами, такими как файлы или сетевые соединения, автоматически освобождая их после использования. Они реализуются с помощью методов __enter__ и __exit__.

➡️ В этом примере показано, как использовать менеджер контекста для работы с файлами:
with open('file.txt', 'r') as file:
content = file.read()

Здесь файл автоматически закроется после завершения блока with, даже если внутри него возникнет ошибка.

🗣️ Менеджеры контекста полезны для автоматического управления ресурсами и обработки исключений.


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

Python разработчик (офис)
Python, FastAPI, aiohttp, polars, Spark, Jupyter, ElasticSearch, PostgreSQL, Redis, RabbitMQ, Kubernetes, GitLab CI
от 150 000 до 250 000 ₽ | от 1 года опыта

Инженер по автоматизации (Python)
Python, SQL, Docker, Kubernetes
Уровень дохода не указан | от 1 года опыта

Middle Python developer
Python, SQL, Firebird, Apache2, Nginx, REST API, JSON-RPC, Git
Уровень дохода не указан | от 1 года опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Эксперимент: даём ChatGPT полный доступ к компьютеру

В статье рассказывается о личном опыте создания проекта в программировании. Это не инструкция или руководство, а просто история новичка, который делится своей идеей, потому что подобного проекта он не нашел в сети.

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

Создайте Python-приложение, которое принимает строку и определяет частоту встречаемости каждого символа в этой строке. Программа должна выводить результаты в консоль и сохранять их в файл char_count.json.

➡️ Пример:

python app.py count "Hello, World!" — выводит количество каждого символа и сохраняет в char_count.json.

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

import json
import sys
from collections import Counter

def count_chars(text):
count = Counter(text)
print(count)
with open('char_count.json', 'w') as f:
json.dump(count, f)

if __name__ == "__main__":
if len(sys.argv) > 1:
count_chars(sys.argv[1])
else:
print("Укажите строку для подсчета символов.")
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как создать свой реестр для хостинга Docker-контейнеров

Хочешь полностью контролировать свои Docker-образы? Мы расскажем, как создать и настроить личный реестр контейнеров, идеально подходящий для твоих задач.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Практическое обучение с подкреплением: от забав с MuJoCo'м до битв на арене

Поговорим о создании пайплайна для обучения нейросетей, сражающихся на арене. Узнайте, как шаг за шагом построить процесс, и попробуйте обучить собственного чемпиона. Подробности и код на GitHub!

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

DevOps-инженер
CI/CD, Docker, Jenkins, KVM, Kubernetes, Ansible, Bash, Python, GitLab, Grafana
от 300 000 до 350 000 ₽ | от 3 лет опыта

Python разработчик
Python, Docker, Kubernetes, SQLAlchemy, PyQt6, lxml, pytest
Уровень дохода не указан | от 5 лет опыта

Senior Python developer (ServiceController)
Python, FastAPI, PostgreSQL, SQLAlchemy, Kafka, Docker, Kubernetes
Уровень дохода не указан | от 3 лет опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Файловая система без фокусов: как hard links и XOR сэкономят ваши гигабайты

Статья объясняет концепцию символьных и жёстких ссылок на файлы, акцентируя внимание на hard links в Windows, малоизвестных многим веб-разработчикам. В простых примерах раскрывается принцип работы ссылок и их отличия от привычных ярлыков.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Что такое генераторные выражения в Python и чем они отличаются от списковых выражений?

Генераторные выражения — это компактный способ создания итераторов в Python. Они похожи на списковые выражения (list comprehensions), но возвращают по одному элементу за раз, а не создают сразу весь список. Это делает их более эффективными по памяти, особенно для обработки больших объемов данных.

➡️ Пример:

# Списковое выражение — создает весь список в памяти
squared_list = [x**2 for x in range(10)]
print(squared_list) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# Генераторное выражение — возвращает по одному значению
squared_gen = (x**2 for x in range(10))
print(next(squared_gen)) # 0
print(next(squared_gen)) # 1


🗣 Генераторные выражения экономят память и могут использоваться для последовательной обработки данных, где полный список не нужен.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Возможности функции scatterplot() библиотеки seaborn

Статья объясняет использование функции scatterplot() из seaborn для визуализации взаимосвязи числовых переменных. Рассказывается о параметрах настройки цвета, размера и стиля точек, что помогает в многомерном анализе данных.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Делаем Телеграм-бота в Cursor AI без знания кода

Статья о создании бота для автоматизации ленты сообщений в Telegram. Как с помощью Cursor AI от Claude реализовать категории через папки и упростить управление новыми каналами.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👀 Смотри на свой код глазами юзера

Задачи сделаны, функционал работает, но когда пользователь берёт продукт в руки, начинаются жалобы.

👉 Совет: перед тем как считать задачу завершённой, протестируй её так, как это сделал бы пользователь. Попробуй ввести неправильные данные, пройди весь сценарий с начала до конца. Это простой шаг, который избавит от лишних багрепортов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка зарубежных вакансий

Senior Python Developer (релокация на Кипр, Лимасол)
🟢Python, FastAPI, PostgreSQL, asyncio, aiohttp, Docker, Kubernetes, Blockchain, Web3.py
🟢Уровень дохода не указан | 3–6 лет опыта

Senior QA Engineer (Mobile)
🟢Ручное тестирование, TeamCity, 3uTools, ADB/AppCat, Charles Proxy, Qase, Sentry, Amplitude, Python
🟢Уровень дохода не указан | 3–6 лет опыта

Data Analyst Team Lead
🟢SQL (PostgreSQL, Clickhouse), Python, Tableau, A/B тестирование
🟢Уровень дохода не указан | более 6 лет опыта
Please open Telegram to view this post
VIEW IN TELEGRAM