Методы __getitem__() и __setitem__() позволяют реализовать доступ к элементам объекта по индексу или ключу, как в списках или словарях.
__getitem__() вызывается при обращении obj[key], а __setitem__() — при присваивании obj[key] = value. Позволяет эмулировать поведение встроенных коллекций.
✈️ Python собеседования
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. Позволяет эмулировать поведение встроенных коллекций.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
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.Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Модуль
Получение версии пакета:
Возвращает текущую версию установленного пакета.
Чтение файлов из пакета:
Загружает содержимое файла
Проверка зависимостей:
Возвращает список зависимостей для указанного пакета.
Модуль полезен для управления ресурсами и зависимостями в проектах.
✈️ Python собеседования
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")
Возвращает список зависимостей для указанного пакета.
Модуль полезен для управления ресурсами и зависимостями в проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6