📚 Знакомьтесь, хендбуки от Яндекс Образования
Бесплатные интерактивные учебники для студентов и начинающих специалистов по Python, C++ и машинному обучению. Теория, которая пригодится в решении реальных задач.
Погружайтесь в дисциплину с нуля или выбирайте отдельные темы, выполняйте задания и следите за прогрессом. Хенбуки помогут закрыть пробелы в знаниях, подготовиться к экзаменам или собеседованиям.
👉Учиться по хендбукам
Бесплатные интерактивные учебники для студентов и начинающих специалистов по Python, C++ и машинному обучению. Теория, которая пригодится в решении реальных задач.
Погружайтесь в дисциплину с нуля или выбирайте отдельные темы, выполняйте задания и следите за прогрессом. Хенбуки помогут закрыть пробелы в знаниях, подготовиться к экзаменам или собеседованиям.
👉Учиться по хендбукам
👍5
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Иногда при работе с коллекциями в пайтон нужно быстро сгруппировать данные по ключу и при этом не писать громоздкий цикл с проверками. В таких случаях можно использовать модуль итэртулз и функцию группбай. Она позволяет превратить список в словарь с удобной структурой, где каждый ключ сразу содержит все связанные элементы. Это сильно экономит строки кода и делает его чище.
from itertools import groupby
from operator import itemgetter
data = [
{"category": "A", "value": 10},
{"category": "B", "value": 20},
{"category": "A", "value": 30},
{"category": "B", "value": 40},
]
сортировка обязательна перед groupby
data.sort(key=itemgetter("category"))
grouped = {
key: list(group) for key, group in groupby(data, key=itemgetter("category"))
}
print(grouped)
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍4❤3
  This media is not supported in your browser
    VIEW IN TELEGRAM
  🔥Продвинутый совет по ускорению Python-кода
Один из скрытых тормозов Python — частые вызовы маленьких функций внутри циклов. Каждый вызов вносит оверхед интерпретатора. Если функция простая, её можно «инлайнить» (встроить прямо в цикл), или использовать NumPy vectorization и Numba JIT, чтобы убрать лишние вызовы.
Например, вместо того чтобы вызывать функцию миллионы раз, можно скомпилировать её через
Хочешь больше таких фишек? Подписывайся на нас и каждый день получай свежие и нестандартные советы, которые реально прокачают твои навыки разработчика!
Один из скрытых тормозов Python — частые вызовы маленьких функций внутри циклов. Каждый вызов вносит оверхед интерпретатора. Если функция простая, её можно «инлайнить» (встроить прямо в цикл), или использовать NumPy vectorization и Numba JIT, чтобы убрать лишние вызовы.
Например, вместо того чтобы вызывать функцию миллионы раз, можно скомпилировать её через
@njit из Numba — и Python-код превратится в машинный, работая в десятки раз быстрее. Это особенно эффективно для численных расчётов, работы с массивами и больших циклов.  Хочешь больше таких фишек? Подписывайся на нас и каждый день получай свежие и нестандартные советы, которые реально прокачают твои навыки разработчика!
import numpy as np
from numba import njit
# Обычная Python-функция — будет работать медленно на больших данных
def transform(x):
return x * x + x % 7
# JIT-компиляция убирает интерпретационный оверхед
@njit
def fast_transform(arr):
res = np.empty_like(arr)
for i in range(arr.size):
res[i] = arr[i] * arr[i] + arr[i] % 7
return res
data = np.arange(10_000_000, dtype=np.int64)
# Медленный вариант: Python-функция внутри list comprehension
res1 = [transform(x) for x in data]
# Быстрый вариант: Numba скомпилировала цикл в машинный код
res2 = fast_transform(data)
print(res1[:5], res2[:5])
🔥4❤3
  This media is not supported in your browser
    VIEW IN TELEGRAM
  В Python можно быстро проверить, доступен ли сетевой сервис и как быстро он отвечает, не прибегая к сложным утилитам.
Это помогает опытным разработчикам, когда нужно оперативно убедиться, что API или база данных действительно доступны и не "подвисают".
Через socket можно реализовать мини-проверку состояния сети и времени отклика.
import socket
import time
def check_service(host: str, port: int, timeout: float = 2.0):
try:
start = time.perf_counter()
with socket.create_connection((host, port), timeout=timeout):
elapsed = time.perf_counter() - start
print(f"[OK] {host}:{port} доступен, ответ за {elapsed:.3f} сек")
except Exception as e:
print(f"[FAIL] {host}:{port} недоступен — {e}")
пример: проверка доступности Google DNS и локального сервиса
check_service("8.8.8.8", 53)
check_service("localhost", 5432)
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤5👍1
  🤖 PharosTestnet Bot: Автоматизация для криптоактивов
PharosTestnet-bot — это Python-бот для автоматизации различных операций с криптовалютами на тестовой сети. Он поддерживает множество функций, включая автоматический вход, управление ликвидностью и работу с прокси. Идеален для трейдеров, желающих оптимизировать свои действия.
🚀Основные моменты:
- Автоматический ежедневный вход
- Поддержка всех типов прокси
- Многопоточность для повышения производительности
- Автообмен и управление ликвидностью
- Получение статистики по аккаунтам
📌 GitHub: https://github.com/haspread/PharosTestnet-bot
#python
PharosTestnet-bot — это Python-бот для автоматизации различных операций с криптовалютами на тестовой сети. Он поддерживает множество функций, включая автоматический вход, управление ликвидностью и работу с прокси. Идеален для трейдеров, желающих оптимизировать свои действия.
🚀Основные моменты:
- Автоматический ежедневный вход
- Поддержка всех типов прокси
- Многопоточность для повышения производительности
- Автообмен и управление ликвидностью
- Получение статистики по аккаунтам
📌 GitHub: https://github.com/haspread/PharosTestnet-bot
#python
❤4👍1