Атрибуты класса, classmethod и staticmethod

Published: 27 December 2022
on channel: Python Russian
5,675
303

Посмотрим в первом приближении на атрибуты класса, как с ними работать, для чего нужны декораторы classmethod и staticmethod.

1) LEGB - правило продолжает действовать для простых имен переменных и их поиска
2) для self атрибутов поиск идет сначала в объекте, потом в классе, затем у предков OCP(object-class-parent). То есть через селф можно достучаться как к обычным методам/атрибутам, так и к классовым, статичным
3) если через self пытаться поменять неизменяемый атрибут (строка) класса, то будет создана локальная копия, ее не увидят другие объекты класса
4) если менять через self изменямый атрибут класса (список), то он изменится для всех объектов класса
5) cls - это ссылка на класс (не объект!), питон передает его под капотом. cls = Class
6) classmethod используется для работы с атрибутами класса и с другими методами класса. Часто используется для конструирования готовых объектов
7) staticmethod не получает ссылок под капотом, это просто функция связанная контекстом с классом. Используется редко и часто завуалированно

Читать:
https://docs.python.org/3/tutorial/cl...

https://docs.python.org/3/library/fun...

Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти https://boosty.to/python_russian/donate
✔️Юмани 410011506612886

Будь первым везде и всегда, включай уведомления о новых выпусках 🔔


Смотри там где удобно🤩
✔️ https://vk.com/python_russian
✔️ https://boosty.to/python_russian

✔️    / pythonrussian  
✔️ https://t.me/python_russian

✔️ https://dzen.ru/python_russian
✔️ https://rutube.ru/channel/24346352/

#Python #PythonRussian #PyCharm


On this page of the site you can watch the video online Атрибуты класса, classmethod и staticmethod with a duration of hours minute second in good quality, which was uploaded by the user Python Russian 27 December 2022, share the link with friends and acquaintances, this video has already been watched 5,675 times on youtube and it was liked by 303 viewers. Enjoy your viewing!