🎯 Команда дня: `@overload` в Python
Пример:
—
—
— Типизация подскажет ошибку, если вы вызовете
Другой кейс — когда нужен только один аргумент из двух:
Так можно добиться:
✅
✅
🙅♂️
Бонус:
▶️ Попытка передать yellow вызовет ошибку ещё до выполнения кода.
▶️ @overload и Literal — мощные инструменты статической проверки, особенно в больших проектах, где важна точная типизация.
Proglib Academy #буст
@overload
из модуля typing
позволяет указать несколько сигнатур для одной функции. Это особенно полезно, когда возвращаемый тип зависит от аргументов — и вы хотите, чтобы типизация отражала это поведение.Пример:
from typing import Literal, overload
@overload
def transform(data: str, mode: Literal["split"]) -> list[str]: ...
@overload
def transform(data: str, mode: Literal["upper"]) -> str: ...
def transform(data: str, mode: Literal["split", "upper"]) -> list[str] | str:
return data.split() if mode == "split" else data.upper()
—
transform(..., "split")
→ list[str]
—
transform(..., "upper")
→ str
— Типизация подскажет ошибку, если вы вызовете
append()
у строки или .lower()
у спискаДругой кейс — когда нужен только один аргумент из двух:
@overload
def get_user(id: int = ..., username: None = None) -> User: ...
@overload
def get_user(id: None = None, username: str = ...) -> User: ...
def get_user(id: int | None = None, username: str | None = None) -> User: ...
Так можно добиться:
get_user(id=1)
get_user(username="John")
get_user(id=1, username="John")
— не соответствует ни одной сигнатуреБонус:
Literal
позволяет ограничить значения аргументов строками:def set_color(color: Literal["red", "blue", "green"]) -> None: ...
Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Что выведет код?
🔥 — [1, 2, 3, 4, 5, 6]
🙏 — (1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6)
🌚 — Error
😢 — None
Proglib Academy #междусобойчик
🙏 — (1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6)
😢 — None
Proglib Academy #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚10🔥1🙏1
Всю неделю сижу в режиме обучения от ChatGPT — читаю, спрашиваю, проверяю, снова читаю.
А вы как проводили свою неделю обучения?
Что нового узнали, чему научились, что залипло в голове?
Proglib Academy #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Энтузиаст научил скворца запоминать и воспроизводить png-файл в виде звукового сигнала
Есть тут, кто хочет передавать данные в скворцах?
Proglib Academy #развлекалово
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👏2🔥1
В карточках рассказали, как увеличить вашу видимость и привлекательность для потенциальных работодателей, тем самым сокращая время поиска работы и увеличивая вероятность успешного трудоустройства.
Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁2
Генерация текста — это не просто «угадай следующее слово».
Модель оценивает вероятности, а дальше всё зависит от стратегии:
Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Если в 2012 все грызли техничку и мясо, то теперь — «3 признака, что вас скоро сократят».
И да, 2020-й был годом великого «вката». Мы ещё не оправились.
А вы на каком этапе? Только вкат или уже ищете третьего работодателя сразу?
Proglib Academy #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👾1
Если вы собирали ML-пайплайны «на коленке», писали ботов и скорили таблички ради интереса — поздравляю, вы уже работали дата-сайентистом. Просто без бейджика и офиса.
Главное — правильно подать это в резюме.
Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Зачем вообще понимать, как работает ML?
Сейчас многие просто запускают модельку в sklearn — и радуются точности 0.92.
Машинное обучение — это система, которую можно понять.
Если знаешь, что делает градиентный спуск, зачем нужен бустинг и как дерево принимает решения — ты не просто «запускаешь», ты управляешь моделью.
👉 Мы сделали курс, чтобы в это было реально въехать:
— без сложных формул;
— с интуитивными объяснениями;
— от простого к сложному.
Если хочешь перейти от «гуглю код» к «понимаю, как это работает» — ты по адресу!
❗Стартуем в сентябре — бронируй место на курсе уже сейчас
Сейчас многие просто запускают модельку в sklearn — и радуются точности 0.92.
Вроде всё работает… но почему?
А когда сломается — что делать?
Машинное обучение — это система, которую можно понять.
Если знаешь, что делает градиентный спуск, зачем нужен бустинг и как дерево принимает решения — ты не просто «запускаешь», ты управляешь моделью.
👉 Мы сделали курс, чтобы в это было реально въехать:
— без сложных формул;
— с интуитивными объяснениями;
— от простого к сложному.
Если хочешь перейти от «гуглю код» к «понимаю, как это работает» — ты по адресу!
❗Стартуем в сентябре — бронируй место на курсе уже сейчас
👍1🔥1
Это кодинг в 2025ом году
Сколько процентов своего кода вы уже пишете через нейросети? 👇
Proglib Academy #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Представьте, что у вас в распоряжении безлимитное время опытного Python-разработчика. Пройдите интервью в реалистичных условиях и получите точечную обратную связь, чтобы понять, где вы реально хороши, а что стоит подтянуть.
Для этого используем вот такой промпт:
You are a seasoned Python developer and interviewer with 15+ years of experience. Your task is to conduct a mock technical interview for a candidate applying for a mid-level Python developer position. The interview will focus on core Python concepts, object-oriented programming, standard library features, and best practices in writing clean, efficient Python code.
Your approach will be to ask one question at a time, wait for the candidate's response, provide constructive feedback on their answer (highlighting strengths and areas for improvement), and then proceed to the next question. The goal is to simulate a real-world interview experience and help the candidate identify areas where they need to improve their knowledge.
Here's the format you will follow for each question:
Question:
$interview_question
[Pause for Candidate's Response]
Feedback:
Strengths: $positive_feedback_on_answer
Areas for Improvement: $constructive_criticism_and_suggestions
Next Question:
$next_interview_question
Begin the mock interview
Proglib Academy #оффер_мечты
Please open Telegram to view this post
VIEW IN TELEGRAM
Если у вас нет строк в трудовой книжке, это ещё не повод убирать проекты из резюме.Рассказываем, как грамотно оформить неформальный опыт и показать его как карьерный плюс.
Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1