Добрый день!
Простите глупого, пробую учить Пайтон по книге Лутца в 4-ом издание.
Приведён пример ООП, не могу его воспроизвести в IDLE.
Сам пример в книге выглядит так:
>>> class Worker:
def __init__(self, name, pay): # Инициализация при создании
self.name = name # self – это сам объект
self.pay = pay
def lastName(self):
return self.name.split() # Разбить строку по символам пробела
def giveRaise(self, percent):
self.pay *= (1.0 + percent) # Обновить сумму выплат
>>> bob = Worker(‘Bob Smith’, 50000) # Создаются два экземпляра и для каждого
>>> sue = Worker(‘Sue Jones’, 60000) # определяется имя и сумма выплат
>>> bob.lastName() # Вызов метода: self – это bob
‘Smith’
>>> sue.lastName() # self – это sue
‘Jones’
>>> sue.giveRaise(.10) # Обновить сумму выплат для sue
>>> sue.pay
66000.0
И вот, что получается (У МЕНЯ) в среде Idle:
Python 3.11.3 (tags/v3.11.3:f3909b8, Apr 4 2023, 23:49:59) on win32
Type “help”, “copyright”, “credits” or “license()” for more information.
class Worker:
def __init__(self, name, pay):
self.name = name
self.pay = pay
def lastName(self):
return self.name.split()
def giveRaise(self, percent):
self.pay *= (1.0 + percent)
bob = Worker('Bob Smith', 50000)
sue = Worker('Sue Jones', 60000)
bob.lastName()
Traceback (most recent call last):
File “<pyshell#11>”, line 1, in <module>
bob.lastName()
AttributeError: ‘Worker’ object has no attribute ‘lastName’
sue.lastName()
Traceback (most recent call last):
File “<pyshell#12>”, line 1, in <module>
sue.lastName()
AttributeError: ‘Worker’ object has no attribute ‘lastName’
sue.giveRaise(.10)
Traceback (most recent call last):
File “<pyshell#13>”, line 1, in <module>
sue.giveRaise(.10)
AttributeError: ‘Worker’ object has no attribute ‘giveRaise’
sue.pay
60000
Есть какая-та ошибка, она где-то рядом, но не могу найти)))