Метод .create()
В этом примере описан класс Square
:
class Square:
def create(self, x, y, size):
self.x = x
self.y = y
self.size = size
s1 = Square()
s1.create(0, 0, 100)
s2 = Square()
s2.create(100, 0, 50)
В классе определяется метод .create()
, с помощью которого задаются значения свойств экземпляра.
Метод __init__
Если забыть вызвать метод .create()
(в предыдущем примере), то у экземпляра класса не будет свойств:
s3 = Square()
print(s3.x)
Если попытаться обратиться к несуществующему свойству, то программа завершится с ошибкой.
Пример можно переписать и использовать "магический" метод __init__
, который автоматически вызывается при создании экземпляра:
Было |
Стало |
class Square:
def create(self, x, y, size):
self.x = x
self.y = y
self.size = size
s1 = Square()
s1.create(0, 0, 100)
s2 = Square()
s2.create(100, 0, 50)
|
class Square:
def __init__(self, x, y, size):
self.x = x
self.y = y
self.size = size
s1 = Square(0, 0, 100)
s2 = Square(100, 0, 50)
|
Метод __init__
называют конструктором и используется он для задания начальных значений свойств экземпляра.