Python собеседования
1.95K subscribers
340 photos
453 links
Подготовка к собеседованиям на позицию Python-разработчик

Еще больше на сайте https://frontview-it.ru

Backend - @frontview_backend
Python работа - @frontview_python_vacancies
Все IT вакансии - @frontview_all_vacancies
Download Telegram
Оператор in проверяет вхождение элемента в последовательность (список, кортеж, строку) или наличие ключа в словаре. Возвращает True, если элемент найден, иначе False.

Для строк проверяет наличие подстроки:

if 'hello' in 'hello world':
# True, так как подстрока 'hello' есть в строке


Для списков и кортежей проверяет наличие элемента:

if 2 in [1, 2, 3]:
# True, так как 2 есть в списке


Для словарей проверяет наличие ключа:

if 'key' in {'key': 'value'}:
# True, так как ключ 'key' существует


Также in работает с генераторами и множествами. Сложность операции зависит от типа данных: O(1) для словарей и множеств, O(n) для списков и строк.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
При работе с сетевыми запросами try-except помогает обрабатывать ошибки соединения, таймауты и некорректные ответы. Чаще всего перехватывают исключения requests.exceptions.RequestException или более конкретные, например ConnectionError, Timeout, чтобы корректно завершить запрос или повторить его.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Условие if name == "__main__": определяет, выполняется ли скрипт напрямую или импортируется как модуль. Код внутри этого блока запускается только при прямом запуске файла.


def some_function():
print("This is a function")

if __name__ == "__main__":
print("Script executed directly")
some_function()


Если файл импортирован, код вне этого блока (функции, классы) будет доступен, но код внутри if не выполнится. Это полезно для тестирования и разделения логики модуля и его запуска.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
Методы __getitem__() и __setitem__() позволяют реализовать доступ к элементам объекта по индексу или ключу, как в списках или словарях.


class CustomContainer:
def __getitem__(self, key):
return self.data[key] # Возвращает значение по ключу/индексу

def __setitem__(self, key, value):
self.data[key] = value # Устанавливает значение по ключу/индексу


__getitem__() вызывается при обращении obj[key], а __setitem__() — при присваивании obj[key] = value. Позволяет эмулировать поведение встроенных коллекций.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
Классическая реализация предполагает Subject (наблюдаемый объект) и Observer (наблюдатели):

class Subject:
def __init__(self):
self._observers = []

def attach(self, observer):
self._observers.append(observer)

def notify(self, message):
for observer in self._observers:
observer.update(message)


class Observer:
def update(self, message):
print(f"Received: {message}")


Ключевые моменты:
- Subject хранит список наблюдателей и уведомляет их при изменениях
- Observer определяет интерфейс для получения обновлений
- В Python часто реализуют через события или свойства (property)

Альтернативно можно использовать модуль observable из PyPI.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Модуль pkg_resources из setuptools предоставляет инструменты для работы с ресурсами и зависимостями пакетов. Основные функции включают управление версиями, доступ к файлам внутри пакетов и проверку зависимостей.

Получение версии пакета:

import pkg_resources
version = pkg_resources.get_distribution("requests").version


Возвращает текущую версию установленного пакета.

Чтение файлов из пакета:
python  
data = pkg_resources.resource_string("my_package", "data/file.txt")


Загружает содержимое файла file.txt из пакета my_package.

Проверка зависимостей:
python  
dependencies = pkg_resources.require("requests")


Возвращает список зависимостей для указанного пакета.

Модуль полезен для управления ресурсами и зависимостями в проектах.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4