ar
Feedback
About Python [ru]

About Python [ru]

الذهاب إلى القناة على Telegram

Пишем на Python, создаём нейросети и ИИ-агентов. Алгоритмы, задачи и вайбкодинг. Личный блог автора - @just_genych По вопросам рекламы или разработки: @g_abashkin

إظهار المزيد
6 513
المشتركون
-224 ساعات
-197 أيام
+2830 أيام
أرشيف المشاركات
👩‍💻 Задачка по 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

👩‍💻 Пишем небольшое приложение на Python для повышения продуктивности с помощью ИИ и BotHub API Статья объясняет, как создать приложение для автоматического анализа онлайн-встреч. Используя API BotHub (Whisper-1 + Claude 3.5 Sonnet), вы научитесь извлекать ключевые идеи, распределять задачи и генерировать отчёты в формате PDF. Читать...

🔎 Подборка зарубежных вакансий DevOps-инженер 🟢Linux, Docker, HashiCorp Vault, Nomad, Consul, Jenkins, Ansible, GitLab, Zabbix, Prometheus, Grafana, Python, Bash, ELK, MongoDB, Riak 🟢Уровень дохода не указан | от 4 лет опыта Senior QA Engineer (Server Team) 🟢Тестирование, Тестирование back-end, API, Python, CI/CD, GitLab, TeamCity, Jenkins, Postman, Charles 🟢Уровень дохода не указан | 3–6 лет опыта Fullstack System Analyst 🟢UML Sequence Diagrams, SaaS, Интеграция с внешними сервисами, Английский язык (B2), Русский язык (C1) 🟢Уровень дохода не указан | от 3 лет опыта

🛡 Никогда не выключай проверки кода Ты в конце дня, устал, и хочется побыстрее смёрджить PR, чтобы закрыть задачу? Удержись от соблазна. 👉 Совет: даже если правка кажется тривиальной, проходи весь цикл проверки. Включай линтеры, запускай тесты и дай коллеге ещё раз взглянуть на код. Это убережёт от ошибок, которые станут головной болью завтра.

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

📝 Подборка вакансий для лидов Lead/Senior Automation QA (Python or Java) Python, Linux, Java, CI/CD, Docker, Тестирование API, Тестирование UI, Разработка тест-кейсов Уровень дохода не указан | от 4 лет опыта Data Science Tech Lead/Product owner Python, SQL Уровень дохода не указан | более 5 лет опыта Ведущий разработчик / Техлид Openstack Python, Linux, Openstack, Golang Уровень дохода не указан | от 3 лет опыта

⚙️ Как работает декоратор @property в Python и зачем он нужен? Декоратор @property в Python превращает метод класса в атрибут, позволяя работать с ним, как с обычным свойством. Это упрощает доступ к приватным данным и добавляет контроль за их валидацией и изменением. С помощью @property можно создавать интерфейс для работы с данными объекта, защищая их от некорректных значений и обеспечивая читаемость кода. ➡️ В этом примере декоратор @property используется для создания свойства age, которое проверяет корректность введенного значения:
class Person:
    def __init__(self, age):
        self._age = age
    
    @property
    def age(self):
        return self._age
    
    @age.setter
    def age(self, value):
        if value < 0:
            raise ValueError("Возраст не может быть отрицательным.")
        self._age = value

p = Person(30)
p.age = 35        # Работает нормально
print(p.age)      # 35
p.age = -5        # ValueError: Возраст не может быть отрицательным.
🗣 Использование @property полезно для создания аккуратного интерфейса доступа к данным с их защитой и валидацией, соблюдая при этом принципы инкапсуляции.
🖥 Подробнее тут

👩‍💻 Укрощение монстров: мониторинг и управление ресурсоемкими запросами в Django + PostgreSQL Каждый Django-разработчик рано или поздно сталкивается с неожиданно «тяжелыми» запросами, способными превратить быстрое приложение в неповоротливого слона. Рассказываем, как с помощью django-pgactivity выследить и обезвредить такие запросы, прежде чем они создадут проблемы вашим пользователям. Читать...

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

👩‍💻 Сравнение Bash и Python при написании скпритов в Linux Командный интерпретатор Bash и язык программирования Python — два ключевых инструмента в работе с Linux-системами. В статье сравниваются их возможности для скриптов и системных задач. Читать...

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

👩‍💻 Конвертер 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])

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

📝 Подборка вакансий для мидлов 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 года опыта

⚙️ Что такое метаклассы в 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 ко всем классам, которые его используют. Метаклассы дают мощный инструмент для динамического создания и модификации классов.
🖥 Подробнее тут

👩‍💻 Используем языковые модели в AI-агентах. Часть 1. Введение в LangChain В статье объясняется, что такое LangChain — фреймворк для работы с большими языковыми моделями (LLM), их интеграцией в приложения и созданием AI-агентов. Рассмотрены базовые компоненты и их применение. Читать...

🔎 Подборка вакансий для джунов Разработчик операций 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 года опыта