About Python [ru]
الذهاب إلى القناة على Telegram
Пишем на Python, создаём нейросети и ИИ-агентов. Алгоритмы, задачи и вайбкодинг. Личный блог автора - @just_genych По вопросам рекламы или разработки: @g_abashkin
إظهار المزيد6 469
المشتركون
-524 ساعات
-137 أيام
-7030 أيام
أرشيف المشاركات
6 468
📝 Подборка вакансий для сеньоров
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 лет опыта6 468
👩💻 Сравнение Bash и Python при написании скпритов в Linux
Командный интерпретатор Bash и язык программирования Python — два ключевых инструмента в работе с Linux-системами. В статье сравниваются их возможности для скриптов и системных задач.
Читать...
6 468
👩💻 Как я создал Telegram-бота для хранения файлов и чуть не стал библиотекарем
Узнайте, как я превратил свой Telegram в персональную файловую систему с помощью бота на Python. В статье делюсь опытом разработки, полным кодом и лайфхаками.
Читать...
6 468
👩💻 Конвертер 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])
6 468
👩💻 Дашбординг: Dash или Shiny
Разбираемся в устройстве Dash и Shiny и почему оба фреймворка отлично подходят для решения единственной задачи - создать функциональный и красивый дашборд.
Читать...
6 468
📝 Подборка вакансий для мидлов
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 года опыта6 468
⚙️ Что такое метаклассы в 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 ко всем классам, которые его используют. Метаклассы дают мощный инструмент для динамического создания и модификации классов.🖥 Подробнее тут
6 468
👩💻 Используем языковые модели в AI-агентах. Часть 1. Введение в LangChain
В статье объясняется, что такое LangChain — фреймворк для работы с большими языковыми моделями (LLM), их интеграцией в приложения и созданием AI-агентов. Рассмотрены базовые компоненты и их применение.
Читать...
6 468
⚡️ В сети начали массово сливать курсы и книги известных онлайн школ
Вот отсортированная база с тонной материала(постепенно пополняется):
БАЗА (4687 видео/книг):
(363 видео, 87 книги) — Python
(415 видео, 68 книги) — Frontend
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++
(343 видео, 87 книги) — Java
(176 видео, 32 книги) — Git
(293 видео, 63 книги) — C#
(174 видео, 91 книги) — DevOps
(167 видео, 53 книги) — PHP
(227 видео, 83 книги) — SQL/БД
(163 видео, 29 книги) — Linux
(107 видео, 43 книги) — СисАналз
(181 видео, 32 книги) — Go
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(137 видео, 93 книги) — DS/ML
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — UI/UX
(129 видео, 73 книги) — QA
(213 видео, 63 книги) — Rust
(121 видео, 24 книги) — Ruby
Скачивать ничего не нужно — все выложили в Telegram
6 468
🔎 Подборка вакансий для джунов
Разработчик операций 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 года опыта
6 468
👩💻 Обратный индекс слов в тексте
Напишите функцию, которая принимает текст и возвращает словарь, где ключами являются слова из текста, а значениями — список индексов строк, в которых эти слова встречаются.
Пример:
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)
6 468
👩💻 Оптимизация запросов в DjangoORM: когда и как использовать Raw SQL
В рамках данной темы будут рассмотрены способы оптимизации запросов в DjangoORM. Основное внимание будет уделено использованию сырых SQL запросов, существующих для этого инструментов, преимуществам и недостаткам.
Читать...
6 468
👩💻 Создание RESTful API с помощью Django и Django REST Framework
Наша сегодняшняя цель - подробно разобраться в процессе создания REST API с использованием Django и Django REST Framework, разбираясь в каждом шаге и его значение. Мы также рассмотрим, почему создание API важно и как это может быть полезно в ваших будущих проектах.
Читать...
6 468
👩💻 Подсчёт количества слов в строке
Напишите функцию, которая принимает строку и возвращает словарь, где ключами являются слова из строки, а значениями — количество их вхождений. Игнорируйте регистр и знаки препинания.
Пример:
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}
6 468
👩💻 Python REST API: Flask, Connexion и SQLAlchemy (часть 1)
Статья из серии посвящена созданию REST API на Flask. Рассматриваются настройка проекта, обработка запросов с Connexion, определение конечных точек через OpenAPI и аннотация API с помощью Swagger UI.
Читать...
6 468
🔎 Подборка зарубежных вакансий
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 лет
6 468
🎲 Играй с параметрами в тестах
Пишешь тесты, но они проверяют только стандартные кейсы? Тогда реальная ошибка однажды проскользнёт мимо.
👉 Совет: добавь случайные значения в тесты. Пусть они генерируют неожиданные данные, граничные значения или даже заведомо неверные вводы. Это помогает находить уязвимости и повышает надёжность кода.
6 468
👩💻 Разрабатываем первое AI приложение
Статья анализирует роль языка и цифровизации в накоплении и передаче знаний. Обсуждаются вызовы структурирования данных, которые, несмотря на успехи машинного обучения и реляционных баз, всё ещё затрудняют полное понимание накопленной информации.
Читать...
6 468
⚙️ Разбей и властвуй: как создать кастомный токенизатор в SpaCy
Статья показывает, как создавать кастомные токенизаторы в SpaCy для специфических задач: от разбивки текста по уникальным правилам до обработки экзотических языков программирования. Практические примеры включены.
Читать...
6 468
⚙️ Что такое генераторы в 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 вычисляет числа по запросу, вместо сохранения всех значений в памяти. Это делает генераторы особенно удобными для работы с потоками данных или бесконечными последовательностями.🖥 Подробнее тут
