Генераторы — это функции в 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 для специфических задач: от разбивки текста по уникальным правилам до обработки экзотических языков программирования. Практические примеры включены.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья анализирует роль языка и цифровизации в накоплении и передаче знаний. Обсуждаются вызовы структурирования данных, которые, несмотря на успехи машинного обучения и реляционных баз, всё ещё затрудняют полное понимание накопленной информации.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🎲 Играй с параметрами в тестах
Пишешь тесты, но они проверяют только стандартные кейсы? Тогда реальная ошибка однажды проскользнёт мимо.
👉 Совет: добавь случайные значения в тесты. Пусть они генерируют неожиданные данные, граничные значения или даже заведомо неверные вводы. Это помогает находить уязвимости и повышает надёжность кода.
Пишешь тесты, но они проверяют только стандартные кейсы? Тогда реальная ошибка однажды проскользнёт мимо.
Please open Telegram to view this post
VIEW IN TELEGRAM
Python-разработчик/AI-Developer
Product Analyst
Senior Data Test Engineer
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья из серии посвящена созданию 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
Наша сегодняшняя цель - подробно разобраться в процессе создания REST API с использованием Django и Django REST Framework, разбираясь в каждом шаге и его значение. Мы также рассмотрим, почему создание API важно и как это может быть полезно в ваших будущих проектах.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В рамках данной темы будут рассмотрены способы оптимизации запросов в 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-разработчик
Junior/Middle Python Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье объясняется, что такое LangChain — фреймворк для работы с большими языковыми моделями (LLM), их интеграцией в приложения и созданием AI-агентов. Рассмотрены базовые компоненты и их применение.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Метаклассы в 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 и почему оба фреймворка отлично подходят для решения единственной задачи - создать функциональный и красивый дашборд.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите скрипт, который принимает путь к файлу 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 в персональную файловую систему с помощью бота на Python. В статье делюсь опытом разработки, полным кодом и лайфхаками.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Командный интерпретатор 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-разработчик рано или поздно сталкивается с неожиданно «тяжелыми» запросами, способными превратить быстрое приложение в неповоротливого слона. Рассказываем, как с помощью django-pgactivity выследить и обезвредить такие запросы, прежде чем они создадут проблемы вашим пользователям.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM