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

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

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
👩‍💻 Мир за пределами Pandas: достойные альтернативы для работы с данными

В статье рассмотрены альтернативы Pandas: от колоночной DuckDB и сверхскоростной Polars до мощного Modin и гибкого Vaex. Узнайте их особенности, преимущества и ключевые характеристики.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка зарубежных вакансий

QA Manual / Продакт Разработчик операций AI
🟢Python, PostgreSQL, API, SQL, TestRail, Agile
🟢от 800 до 1 300 $ до вычета налогов | 1–3 года

Разработчик Django / Python
🟢Python, Django Framework, PostgreSQL, MySQL, Git, CI/CD
🟢от 600 до 800 $ на руки | 1–3 года

SRE/DevOps-инженер (Igaming)
🟢Linux, CI/CD, Docker, PostgreSQL, Prometheus, ELK, Python, Kubernetes
🟢от 1 500 до 2 300 $ на руки | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Стратегия Келли точно не подведёт

В статье рассматривается уникальная карточная игра с нулевой дисперсией, где стратегия Келли работает без риска. Разбирается механизм ставок, анализ игры и её математическая основа, описанная Томасом Кавером.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Нахождение второго наименьшего числа

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

Пример:

print(second_smallest([4, 2, 1, 5, 3]))  # 2
print(second_smallest([7, 7, 7])) # None
print(second_smallest([10])) # None


Решение задачи🔽

def second_smallest(numbers):
unique_numbers = sorted(set(numbers))
return unique_numbers[1] if len(unique_numbers) > 1 else None

# Пример использования
print(second_smallest([4, 2, 1, 5, 3])) # 2
print(second_smallest([7, 7, 7])) # None
print(second_smallest([10])) # None
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Мэтчинг персонажей. Level Hard

Как находить персонажей на гравюрах без ручной разметки данных? В статье рассказывается, как сегментация изображений и контрастивное обучение помогают справиться с датасетом из 25 тысяч гравюр Британского музея.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Поиск всех подстрок с заданной длиной

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

Пример:

result = find_substrings("hello", 3)
print(result)
# Ожидаемый результат: ['hel', 'ell', 'llo']

result = find_substrings("banana", 2)
print(result)
# Ожидаемый результат: ['ba', 'an', 'na']


Решение задачи🔽

def find_substrings(s, n):
if n > len(s) or n <= 0:
return []

substrings = set()
for i in range(len(s) - n + 1):
substrings.add(s[i:i + n])

return list(substrings)

# Пример использования
result = find_substrings("hello", 3)
print(result)

result = find_substrings("banana", 2)
print(result)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

Junior Python-backend разработчик в VPN-сервис
🟢Python 3.12, asyncio, Aiogram 3, aiohttp, REST API, FastAPI, Redis, планировщики задач (apscheduler)
🟢от 50 000 до 80 000 ₽ | 1–3 года опыта

Junior IT специалист | Системный аналитик
🟢SQL, Python, реляционные базы данных, REST, API, SOAP, Scrum, JSON, XML, BPMN, UML
🟢от 100 000 до 160 000 ₽ | Без опыта

Junior Python Backend разработчик
🟢Python, FastAPI, PostgreSQL, SQLAlchemy
🟢от 40 000 ₽ | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Массовая асинхронная обработка запросов с последующей синхронной CPU-bound логикой

Как обработать миллион запросов к API, совмещая асинхронный ввод-вывод с тяжелыми вычислениями? В статье разбираются подходы с использованием asyncio и ProcessPoolExecutor для масштабируемости и высокой производительности.

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

any и all — это встроенные функции в Python, которые проверяют значения в итерируемом объекте.

any возвращает True, если хотя бы одно значение истинное.
all возвращает True, если все значения истинные.

➡️ Пример:
numbers = [0, 2, 4, 6]

# Проверка: есть ли хотя бы одно ненулевое число
print(any(numbers)) # True

# Проверка: все ли числа ненулевые
print(all(numbers)) # False


🗣️ В этом примере any возвращает True, так как есть ненулевые значения, а all — False, так как присутствует 0. Эти функции полезны для упрощения проверки условий в списках и других коллекциях.


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

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

Middle/Senior Python-разработчик
Python, Django, SQLAlchemy, PostgreSQL, Celery, Linux
Уровень дохода не указан | Более 6 лет

Middle Fullstack Python/SQL разработчик
Python, SQL, PostgreSQL, Redis, RabbitMQ, Flask, SQLAlchemy, Docker, Oracle, Vue.js
Уровень дохода не указан | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Простое управление настройками приложения в проекте на django

Как добавить кучу настроек для администратора в свой проект на django без дополнительных сервисов feature-toggle и потом в них не потеряться.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Генератор случайных паролей с настройками

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

Использовать ли цифры.
Использовать ли буквы верхнего и/или нижнего регистра.
Использовать ли специальные символы.

➡️ Пример:

password = generate_password(length=12, use_digits=True, use_uppercase=True, use_lowercase=True, use_specials=False)
print(password)
# Пример вывода: A1b2C3d4E5f6


Решение задачи🔽

import random
import string

def generate_password(length, use_digits=True, use_uppercase=True, use_lowercase=True, use_specials=True):
if length < 1:
raise ValueError("Длина пароля должна быть больше 0")

# Формируем набор символов
character_pool = ""
if use_digits:
character_pool += string.digits
if use_uppercase:
character_pool += string.ascii_uppercase
if use_lowercase:
character_pool += string.ascii_lowercase
if use_specials:
character_pool += "!@#$%^&*()-_=+[]{}|;:,.<>?/"

if not character_pool:
raise ValueError("Нужно выбрать хотя бы один тип символов")

# Генерация пароля
return ''.join(random.choice(character_pool) for _ in range(length))

# Пример использования
password = generate_password(length=12, use_digits=True, use_uppercase=True, use_lowercase=True, use_specials=True)
print(password)
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Хороший Плохой Злой ИИ Open Source: как мы в Axolotl пушили

Всем привет! Меня зовут Шубин Вадим, я Data Scientist в компании Raft Digital Solutions. В этой статье я хотел бы рассказать о нашем опыте с фейл-сабмитом в существующий опенсорс-проект Axolotl и о том, какие уроки из него мы извлекли. Но обо всём по порядку. Давайте начнем!

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Почему A/B тесты — это не всегда хорошая идея?

В статье рассматриваются недостатки A/B тестирования, включая его временные и ресурсные затраты, а также случаи, когда тесты оказываются неэффективными. Обсуждается, как рационально подходить к выбору этого метода.

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

Senior Python Developer
🟢Python, Django, MySQL, Redis, Kafka, ClickHouse, Grafana
🟢от 3 000 $ на руки | Более 6 лет

Senior Backend Developer (Python\Go)
🟢Python, Go, Flask, PostgreSQL, Kafka, Kubernetes, Docker, Celery, FastAPI
🟢до 300 000 ₽ на руки | 3–6 лет

DevOps / Backend Developer (Python)
🟢Python, Django Rest Framework, FastAPI, PostgreSQL, Redis, RabbitMQ, Linux, Docker
🟢от 250 000 ₽ на руки | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 UV как альтернатива Poetry

UV — новый пакетный менеджер на Rust для Python. Быстрее Poetry, удобнее Pipenv, с контролем версий Python и современным CLI. Узнайте, как UV меняет подход к управлению зависимостями.

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

__slots__ — это специальный атрибут класса, который определяет фиксированный набор атрибутов, которые можно создать для объекта. Это помогает уменьшить потребление памяти, так как исключает использование стандартного словаря __dict__ для хранения атрибутов экземпляра.

➡️ Пример:

class Person:
__slots__ = ['name', 'age'] # Определяем допустимые атрибуты

def __init__(self, name, age):
self.name = name
self.age = age

p = Person("Alice", 30)
print(p.name) # Alice

# Ошибка: нельзя добавить атрибут, не указанный в __slots__
# p.address = "123 Main St"


🗣️ В этом примере класс Person использует __slots__ для ограничения набора атрибутов до name и age. Это экономит память, так как каждый экземпляр хранит только указанные атрибуты, без лишнего словаря. Используйте __slots__ в классах, где создаётся много экземпляров, чтобы оптимизировать использование памяти.


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

Lead Python Developer
🟢Python, C/C++, UML
🟢от 450 000 до 600 000 ₽ | более 6 лет

Team Lead (Python)
🟢Python, FastAPI, SQLAlchemy, PostgreSQL, Kafka, Alembic, Docker, Kubernetes, GraphQL
🟢Уровень дохода не указан | 3–6 лет

Python-разработчик (Senior/Lead)
🟢Python, Django, FastAPI, Aiohttp, PostgreSQL, MongoDB, Redis, Kubernetes
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM