def init(self, name):
self.name = name
print('(Инициализация {0})'.format(self.name))
Robot.population += 1
def del(self):
print('{0} уничтожается!'.format(self.name))
Robot.population -= 1
if Robot.population == 0:
print('{0} был последним'.format(self.name))
else:
print('Осталось {0:d} работающих роботов'.format(Robot.population))
def SayHi(self):
"""Приветствие робота
Да, они это умеют"""
print('Приветствую! Меня зовут {0}'.format(self.name))
def howmany():
print('У нас {0:d} роботов'.format(Robot.population))
howmany = staticmethod(howmany)
droid1 = Robot('R2-D2')
droid1.SayHi()
Robot.howmany()
droid2 = Robot('3-PO')
droid2.SayHi()
Robot.howmany()
print('\nЗдесь роботы что то делают\n')
print('Роботы закончили работу. Давайте уничтожим их')
del droid1
del droid2
Robot.howmany()
Объясните пж, почему в методе howmany нету аргумента self?
чем отличается статический от обычного?
очевидно - обычный метод работает с "переменной" self и берёт её в аргументы
Если правильно понимаю то его можно вызвать без экземпляра
экземпляр это объект, которому назначаем определенный класс и аргументы?
Обсуждают сегодня