Понятие о языке программирования. Синтаксис и семантика языка


Методы классов и статические переменные и методы в Python. Статические методы



бет12/13
Дата13.04.2023
өлшемі337,91 Kb.
#82322
түріАнализ
1   ...   5   6   7   8   9   10   11   12   13
Методы классов и статические переменные и методы в Python. Статические методы.
Согласно модели данных Python, язык предлагает три вида методов: статические, класса и экземпляра класса. Методы экземпляра класса
Это наиболее часто используемый вид методов. Методы экземпляра класса принимают объект класса как первый аргумент, который принято называть self и который указывает на сам экземпляр. Количество параметров метода не ограничено.
Используя параметр self , мы можем менять состояние объекта и обращаться к другим его методам и параметрам. К тому же, используя атрибут self.__class__ , мы получаем доступ к атрибутам класса и возможности менять состояние самого класса. То есть методы экземпляров класса позволяют менять как состояние определённого объекта, так и класса.
Методы класса
Методы класса принимают класс в качестве параметра, который принято обозначать как cls. Он указывает на класс ToyClass, а не на объект этого класса. При декларации методов этого вида используется декоратор classmethod.
Методы класса привязаны к самому классу, а не его экземпляру. Они могут менять состояние класса, что отразится на всех объектах этого класса, но не могут менять конкретный объект.
Статические методы
Статические методы декларируются при помощи декоратора staticmethod. Им не нужен определённый первый аргумент (ни self, ни cls).
Их можно воспринимать как методы, которые “не знают, к какому классу относятся”.
Таким образом, статические методы прикреплены к классу лишь для удобства и не могут менять состояние ни класса, ни его экземпляра.
Статические методы
Статические методы отличаются тем, что при их использовании не нужно создавать экземпляр класса. Для их объявления необходимо записать специальный декоратор @staticm ethod.
После декоратора в тексте программы (в блоке класса) необходимо описать непосредственно статический метод
статический метод не содержит ключевого слова s e lf, т.е. можно сказать, что он определяется вне класса.


7)

Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   13




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет