106 подписчиков
Вы когда-нибудь использовали статические методы в #Python? Посмотрите пример библиотеки requests ниже.
`_get_idna_encoded_host` в `PreparedRequest` - это статический метод.
Он кодирует имена хостов URL, что связано с функциональностью класса, но не зависит от данных экземпляра/класса.
Зачем нужны статические методы?
- Инкапсулируют специфические функции
- Часть API класса (видна через встроенную функцию `dir()`)
- Можно поддерживать чистоту пространства имен
Но помните:
- Отдельные функции предлагают больше возможностей для повторного использования
- Остерегайтесь поползновений в область видимости при проектировании класса
Около минуты
24 января 2024