Python вопросы с собеседований
25.8K subscribers
602 photos
46 videos
17 files
484 links
Вопросы с собеседований по Python

@workakkk - админ

@machinelearning_interview - вопросы с собесдований по Ml

@pro_python_code - Python

@data_analysis_ml - анализ данных на Python

@itchannels_telegram - 🔥 главное в ит

РКН: clck.ru/3FmrFd
Download Telegram
🐍⚙️ Python + Docker совет:

Не устанавливай зависимости в образ на «сыром» pip install — используй фиксированные версии и слой кеширования. Правильный паттерн:

1) сначала COPY requirements.txt
2) затем RUN pip install -r requirements.txt
3) потом COPY исходники

Так Docker кеширует слой с зависимостями — при изменении кода пересобирается только последний слой, а не весь образ. Это ускоряет CI/CD в разы и делает сборки предсказуемыми.
👍85
🧠 Продвинутая типизация Python, о которой почти никто не знает

Статья показывает, что Python уже давно вышел за рамки простых List[int] и Optional[str].

Главные идеи:

✔️ TypeGuard и новый TypeIs позволяют писать функции, которые доказательно сужают типы - например, проверка превращает Any в конкретный тип для дальнейшего кода.

✔️ assert_never из typing помогает ловить случаи, когда ты забыл обработать один из вариантов, что особенно важно в match и сложных условных ветках.

✔️ Python 3.13+ добавляет улучшенный вывод типов и строгие проверки, чтобы типизированный код стал надёжнее.

✔️ Поддержка typed function overloading - теперь можно описывать разные сигнатуры для одной функции, и анализаторы понимают их корректно.

📌 Вывод из статьи - Python типизация уже стала инструментом для архитектуры и предотвращения ошибок, особенно в больших проектах. Но большинство разработчиков использует только её простейший слой.

Кому полезно:
• работаешь с крупными кодовыми базами
• пишешь библиотеки
• хочешь меньше скрытых багов и более предсказуемые refactor-ы

Источник: martynassubonis.substack.com/p/advanced-overlooked-python-typing
👍62🔥2🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Удобный контекстный менеджер для работы с файлами

Использование контекстного менеджера делает работу с файлами более безопасной и удобной. В этом примере мы создадим собственный контекстный менеджер для автоматического закрытия файла и обработки ошибок.


class ManagedFile:
def __init__(self, filename, mode):
self.filename = filename
self.mode = mode
self.file = None

def __enter__(self):
self.file = open(self.filename, self.mode)
return self.file

def __exit__(self, exc_type, exc_val, exc_tb):
if self.file:
self.file.close()

with ManagedFile('example.txt', 'w') as f:
f.write('Hello, Custom Context!')
😁32👍1🔥1