Шаг 82.
Python: тонкости программирования. Классы и ООП. Методы экземпляра, класса и статические методы (общие сведения)

    На этом шаге мы определимся с дальнейшим изложением.

    В этом и следующих шагах вы увидите, что именно в Python стоит за методами класса (class methods), статическими методами (static methods) и обычными методами экземпляра (instance methods).

    Если вы разовьете интуитивное понимание их различий, то сможете писать объектно-ориентированный программный код Python, который яснее сообщает свой замысел и в конечном счете будет удобнее в сопровождении.

    Давайте начнем с написания класса (Python 3), который содержит простые примеры всех трех типов методов:

>>> class MyClass:
	def method(self):
		return 'вызван метод экземпляра', self
	@classmethod
	def classmethod(cls):
		return 'вызван метод класса', cls
	@staticmethod
	def staticmethod():
		return 'вызван статический метод'

    Примечание для пользователей Python 2: декораторы @staticmethod и @classmethod доступны, начиная с Python 2.4, и поэтому данный пример будет работать как есть. Вместо того чтобы использовать простое объявление class MyClass, вы можете объявить класс в новом стиле, с наследованием от object с помощью синтаксической конструкции MyClass(object). Но в остальном все в порядке!

    На следующем шаге мы рассмотрим методы экземпляра.




Предыдущий шаг Содержание Следующий шаг