Классы Python

Определение новых объектов в Python с помощью классов

В дополнение к использованию типов, предоставляемых Python, мы можем объявлять наши собственные классы, а из классов мы можем создавать экземпляры объектов.

Объект - это экземпляр класса. Класс - это тип объекта.

Определите класс таким образом:

class <class_name>:
    # my class

Например, давайте определим класс Dog

class Dog:
    # the Dog class

Класс может определять методы:

class Dog:
    # the Dog class
    def bark(self):
        print('WOF!')

selfпоскольку аргумент метода указывает на текущий экземпляр объекта и должен быть указан при определении метода.

Мы создаем экземпляр класса,объект, используя этот синтаксис:

roger = Dog()

Сейчас жеrogerэто новый объект типа Dog.

Если ты бежишь

print(type(roger))

Ты получишь<class '__main__.Dog'>

Особый тип метода,__init__()называется конструктором, и мы можем использовать его для инициализации одного или нескольких свойств при создании нового объекта из этого класса:

class Dog:
    # the Dog class
    def __init__(self, name, age):
        self.name = name
        self.age = age
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">bark</span>(self):
    <span style="color:#66d9ef">print</span>(<span style="color:#e6db74">'WOF!'</span>)</code></pre></div>

We use it in this way:

roger = Dog('Roger', 8)
print(roger.name) # 'Roger'
print(roger.age)  # 8

roger.bark() # ‘WOF!’

One important features of classes is inheritance.

We can create an Animal class with a method walk():

class Animal:
    def walk(self):
        print('Walking..')

and the Dog class can inherit from Animal:

class Dog(Animal):
    def bark(self):
        print('WOF!')

Now creating a new object of class Dog will have the walk() method as that’s inherited from Animal:

roger = Dog()
roger.walk() # 'Walking..'
roger.bark() # 'WOF!'

More python tutorials: