как работает данный сценарий?
столкнулся с препятствиями при изучении ООП python'а. до меня не доходит, почему этот код работает:
class Smth:
def __init__(self, x):
self.x = x
def num(self):
print(self.x)
p = Smth(5)
p.num()
не понимаю зачем здесь нужен метод init и зачем мы пишем self.x = x всем ответившим огромное спасибо!
Ответы (1 шт):
Автор решения: alex
→ Ссылка
class Smth: # Это объявление класса или типа
def __init__(self, x): # Как ужe написал @entithat
# эта функция запускается, когда объявляется
# переменная p ( ниже )
self.x = x # Здесь мы присвоили свойству значение 5
# при объявлении переменной p ( чуть ниже )
def num(self): # Это метод. Если у нас есть переменная
print(self.x) # типа Smth, значит все переменные
# или экземпляры могут вызвать данный метод
p = Smth( 5 ) # В этой строке мы говорим, что будет переменная
# p типа Smth
p.num() # вызывается метод класса и печатается свойство p ( т.е. 5 )