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

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

По вопросам рекламы или разработки: @g_abashkin
Download 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
⚙️ Разбей и властвуй: как создать кастомный токенизатор в SpaCy

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Разрабатываем первое AI приложение

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🎲 Играй с параметрами в тестах

Пишешь тесты, но они проверяют только стандартные кейсы? Тогда реальная ошибка однажды проскользнёт мимо.

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

Python-разработчик/AI-Developer
🟢Python, LLM, PPO, RLHF
🟢от 1 000 $ на руки | 1–3 года

Product Analyst
🟢SQL, Python, Tableau, Grafana, A/B Testing
🟢Уровень дохода не указан | 3–6 лет

Senior Data Test Engineer
🟢Python, SQL, ETL, PySpark, Databricks, Selenium, JMeter, Postman
🟢Уровень дохода не указан | Более 6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Python REST API: Flask, Connexion и SQLAlchemy (часть 1)

Статья из серии посвящена созданию REST API на Flask. Рассматриваются настройка проекта, обработка запросов с Connexion, определение конечных точек через OpenAPI и аннотация API с помощью Swagger UI.

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

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

Пример:

text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}


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

import re
from collections import Counter

def count_words(text):
# Убираем знаки препинания и приводим к нижнему регистру
words = re.findall(r'\b\w+\b', text.lower())
# Подсчитываем количество вхождений каждого слова
return Counter(words)

# Пример использования:
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Создание RESTful API с помощью Django и Django REST Framework

Наша сегодняшняя цель - подробно разобраться в процессе создания REST API с использованием Django и Django REST Framework, разбираясь в каждом шаге и его значение. Мы также рассмотрим, почему создание API важно и как это может быть полезно в ваших будущих проектах.

Читать...
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
👩‍💻 Обратный индекс слов в тексте

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

Пример:

text = """Python is great.
JavaScript is also great.
Python is popular."""
result = word_index(text)
print(result)
# Ожидаемый результат:
# {
# 'python': [0, 2],
# 'is': [0, 1, 2],
# 'great': [0, 1],
# 'javascript': [1],
# 'also': [1],
# 'popular': [2]
# }


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

def word_index(text):
from collections import defaultdict
import re

index = defaultdict(list)
lines = text.splitlines()

for i, line in enumerate(lines):
words = re.findall(r'\b\w+\b', line.lower())
for word in words:
if i not in index[word]:
index[word].append(i)

return dict(index)

# Пример использования:
text = """Python is great.
JavaScript is also great.
Python is popular."""
result = word_index(text)
print(result)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

Разработчик операций AI, Python/React (удаленно)
🟢Python, React, PostgreSQL, Aiogram, GPT, CRM, Digital Marketing
🟢от 800 до 1 300 $ до вычета налогов | 1–3 года опыта

Python-разработчик
🟢Python, Django, Git, Docker, REST API, PostgreSQL, MySQL, ORM, Linux
🟢от 40 000 до 80 000 ₽ на руки | 1–3 года опыта

Junior/Middle Python Developer
🟢Python, FastAPI, MySQL, Docker, REST API, Celery, Redis, RabbitMQ, Linux, Git
🟢до 800 $ на руки | 1–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
⚙️ Что такое метаклассы в Python и как они работают?

Метаклассы в Python — это классы, которые определяют поведение других классов. Они позволяют изменять или расширять логику создания классов, добавляя к ним атрибуты или методы. Метаклассы чаще всего используются для создания сложных API или DSL (языков предметной области).

➡️ Пример:

# Определение метакласса
class MyMeta(type):
def __new__(cls, name, bases, dct):
dct['custom_method'] = lambda self: f"Метод добавлен через {cls.__name__}"
return super().__new__(cls, name, bases, dct)

# Используем метакласс для создания класса
class MyClass(metaclass=MyMeta):
pass

# Пример использования
obj = MyClass()
print(obj.custom_method()) # Метод добавлен через MyMeta


🗣️ В этом примере метакласс MyMeta добавляет метод custom_method ко всем классам, которые его используют. Метаклассы дают мощный инструмент для динамического создания и модификации классов.


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

Python разработчик (удаленно)
Python, Celery, PostgreSQL, Docker, Django, Apache Spark, PyTorch, Greenplum, Apache Airflow
до 200 000 ₽ | 3 года опыта

Питонист-бекендер в проект с тестами
Python, Django, pytest, GitHub Actions, Datadog, PostgreSQL, Docker Swarm, Celery, RabbitMQ
от 150 000 до 250 000 ₽ | 1–3 года опыта

Cloud Security Engineer
Kubernetes, SSDL, Python, Golang
до 9 000 € | 3 года опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Дашбординг: Dash или Shiny

Разбираемся в устройстве Dash и Shiny и почему оба фреймворка отлично подходят для решения единственной задачи - создать функциональный и красивый дашборд.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Конвертер CSV в JSON

Напишите скрипт, который принимает путь к файлу CSV, конвертирует его содержимое в формат JSON и сохраняет результат в новый файл с тем же именем, но с расширением .json.

Пример:

id,name,age
1,Alice,30
2,Bob,25
3,Charlie,35

python csv_to_json.py data.csv

[
{"id": "1", "name": "Alice", "age": "30"},
{"id": "2", "name": "Bob", "age": "25"},
{"id": "3", "name": "Charlie", "age": "35"}
]


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

import csv
import json
import sys
import os

def csv_to_json(csv_file_path):
try:
json_file_path = os.path.splitext(csv_file_path)[0] + ".json"

with open(csv_file_path, 'r', encoding='utf-8') as csv_file:
reader = csv.DictReader(csv_file)
data = [row for row in reader]

with open(json_file_path, 'w', encoding='utf-8') as json_file:
json.dump(data, json_file, indent=4, ensure_ascii=False)

print(f"Файл успешно конвертирован: {json_file_path}")
except FileNotFoundError:
print(f"Ошибка: Файл {csv_file_path} не найден.")
except Exception as e:
print(f"Ошибка: {e}")

# Пример использования:
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Использование: python csv_to_json.py <путь_к_csv>")
else:
csv_to_json(sys.argv[1])
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как я создал Telegram-бота для хранения файлов и чуть не стал библиотекарем

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

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

Senior/Middle full stack Python/Django разработчик (удаленно, почасовая)
Python, Django, PostgreSQL, HTML, CSS, JavaScript, Bootstrap, Tailwind, Git, Linux
от 100 000 до 160 000 ₽ | 3–5 лет опыта

Продуктовый аналитик
SQL, Python, системы визуализации (Power BI, Tableau, Datalens, Superset, Google Data Studio, QlikView/QlikSense), аналитические системы (Appsflyer, Amplitude, Firebase, Mixpanel, Google Analytics, Яндекс.Метрика, AppMetrica)
до 270 000 ₽ | 3–5 лет опыта

Senior Backend Engineer
Python, Django, PostgreSQL, Golang, микросервисная архитектура, AWS (RDS, DocumentDB), юнит-тестирование
от 3 000 $ | 5 лет опыта
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