About Python [ru]
6.36K subscribers
315 photos
1 video
1.65K 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
👩‍💻 Кастомизация Django Admin. Часть 1: Структура шаблонов

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

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

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

➡️ Пример:

"abc"
['a', 'ab', 'abc', 'b', 'bc', 'c']


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

def generate_substrings(s):
substrings = []
for i in range(len(s)):
for j in range(i + 1, len(s) + 1):
substrings.append(s[i:j])
return substrings

# Пример использования:
input_string = "abc"
result = generate_substrings(input_string)
print(result) # Ожидаемый результат: ['a', 'ab', 'abc', 'b', 'bc', 'c']
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

Backend-тестировщик-программист (Python)
🟢Python, Swagger, REST API, JMeter, Postman, TMS, Git, Linux, Docker, CI/CD
🟢Уровень дохода не указан | Опыт 1–3 года

Аналитик данных / Data analyst (junior)
🟢SQL, Python, DataLens, Tableau, Power BI, Jupyter Notebook
🟢до 120 000 ₽ | Опыт 1–3 года

Junior Data Engineer
🟢SQL, Python, PySpark, Airflow, PostgreSQL, Git, Yandex Cloud
🟢до 120 000 ₽ | Опыт 1–3 года

AI-разработчик junior
🟢Python, Keras, TensorFlow, PyTorch, Git, Linux
🟢от 30 000 до 40 000 ₽ | Без опыта

Junior Python Backend Developer
🟢Python, ROS, Docker, GitLab, Jira, Confluence, Ubuntu
🟢Уровень дохода не указан | Опыт 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Состояние производительности Python 3.13: Free-Threading

Статья посвящена новому free-threaded режиму в CPython 3.13, который открывает возможности параллельного выполнения потоков. Рассматриваются особенности его использования и влияние на производительность.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Что такое list comprehension в Python и как он работает?

List comprehension — это лаконичный способ создания списков в Python. С его помощью можно быстро преобразовать или отфильтровать элементы из другого итерируемого объекта, написав компактный и читаемый код.

➡️ Пример:

# Создание списка квадратов чисел от 0 до 9
squares = [x**2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# Фильтрация чётных чисел
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]


🗣️ List comprehension позволяет комбинировать создание и обработку списков в одну строку, что делает код более компактным и удобным для чтения. Однако его стоит использовать разумно, чтобы не усложнять логику.


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

Python-разработчик (Junior - Middle)
🟢Python3, Django 2+, Django REST Framework, MySQL, MariaDB, Git, JavaScript (Vue.js), HTML, CSS, Bootstrap
🟢от 70 000 ₽ на руки | 1–3 года

Python разработчик, middle
🟢Python, Golang, Docker, RabbitMQ, PostgreSQL, Clickhouse, Linux, Git
🟢от 150 000 до 200 000 ₽ | 1–3 года

Программист Python middle (вендинг)
🟢Python, CI/CD, Docker
🟢Уровень дохода не указан | 1–3 года

Python-разработчик
🟢Python, Apache Kafka, PostgreSQL, Docker, Git, multiprocessing, threading, asyncio
🟢от 150 000 до 150 000 ₽ | 3–6 лет

Middle Python разработчик
🟢Linux, Python 3.12, SQLAlchemy, GRPC, FastAPI, PostgreSQL, Redis, GitLab
🟢от 150 000 ₽ на руки | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Python + Pygame = Amazing Frogs: создаем крутую головоломку

Готов создать игру, от которой не оторвешься? Давай вместе сделаем Amazing Frogs – убийцу Тетриса на Python! Тут тебе и падающие блоки, и взрывающиеся цвета, и хитрая механика. Запасайся кофе, открывай IDE, и поехали превращать код в игровое безумие!

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

Напишите скрипт, который проверяет, существует ли указанный файл, и выводит сообщение Файл найден или Файл не найден.

➡️ Пример:

python check_file.py example.txt
Файл найден


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

import os
import sys

if len(sys.argv) < 2:
print("Использование: python check_file.py <file_path>")
sys.exit(1)

file_path = sys.argv[1]

if os.path.isfile(file_path):
print("Файл найден")
else:
print("Файл не найден")
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Кроссплатформенные приложения на Python с Flet и FastAPI: Полное руководство по разработке

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

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

Python-разработчик Middle+/Senior
🟢Python3, FastAPI, Redis, Elasticsearch, Kafka
🟢от 200 000 ₽ до вычета налогов | не требуется

Разработчик Python (Удаленно)
🟢Python, Django, DRF, Flask, SQLAlchemy, Celery, Docker
🟢от 230 000 до 320 000 ₽ до вычета налогов | 3–6 лет

Data Scientist / Дата сайентист
🟢Python, SQL, Git, Docker, Airflow
🟢от 250 000 до 300 000 ₽ на руки | 3–6 лет

Senior Python developer
🟢Python, Django, Flask, FastAPI, AioHttp, Sanic, PostgreSQL, MySQL, SQLAlchemy, REST API, Celery, Docker, CI/CD, Git, TDD
🟢от 240 000 до 315 000 ₽ на руки | более 6 лет

Middle/Senior Python Developer
🟢Python, Django, FastAPI, Flask, PostgreSQL, MongoDB, Redis, AWS, Google Cloud, Microsoft Azure, Kafka, RabbitMQ
🟢Уровень дохода не указан | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Разбей и властвуй: как создать кастомный токенизатор в SpaCy

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🕵️‍♂️ Когда твоя работа зависит от Василия

Задача вроде простая, но всё стопорится, потому что «это знает только Василий, он тут со времён динозавров». Никакой документации, только магия в его голове. В итоге — пока он не ответит, ты зависаешь, а проект буксует. Звучит знакомо?

⚙️ Если так, пора разорвать этот порочный круг. Вместо бесконечных вопросов начни собирать всё в одну базу знаний — хоть в Notion, хоть на салфетках. Предложи команде попробовать парное программирование: пока Василий творит чудеса, ты уже разбираешься, как эти фокусы повторить.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для лидов

Ведущий Python разработчик
🟢Python 3.9+, Django, FastAPI, SQL, NoSQL, AWS, EC2, S3, RDS
🟢от 300 000 ₽ на руки | 3–6 лет

Team Lead Python
🟢Python, Django, Flask, RabbitMQ, Redis, Nginx, uWSGI, HAProxy, GitLab CI/CD
🟢от 350 000 ₽ на руки | 3–6 лет

Team Lead Python
🟢Python, Django, Flask, PostgreSQL, MongoDB, Docker, Git, REST API
🟢Уровень дохода не указан | 3–6 лет

AQA lead (Python)
🟢Python, Postman, SQL, DBeaver, Fiddler, Charles Proxy, Docker, CI/CD, Selenium, Android Studio
🟢Уровень дохода не указан | 3–6 лет

Backend Tech Lead (Python)
🟢Python, FastAPI, SQLAlchemy, GraphQL, PostgreSQL, Kafka, Redis, Docker, Linux, Git
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 7 продвинутых приемов pandas для науки о данных

Статья делится 7 продвинутыми приёмами работы с pandas для оптимизации задач анализа данных. Рассматриваются, например, итерации по группам с df.groupby().iter() и другие способы упростить повторяющиеся операции.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое генераторы в Python и зачем они нужны?

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

➡️ Пример:

# Генератор для получения первых N чисел Фибоначчи
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b

# Используем генератор
for num in fibonacci(5):
print(num)

# Вывод: 0, 1, 1, 2, 3


🗣️ В этом примере генератор fibonacci вычисляет числа по запросу, вместо сохранения всех значений в памяти. Это делает генераторы особенно удобными для работы с потоками данных или бесконечными последовательностями.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM