class Employee:
def __init__(self, first, last):
self.first = first
self.last = last
def fullname():
return '{} {}'.format(self.first, self.last)
emp = Employee('Rob', 'M')
print (emp.fullname())
Вы заметите, что я пропустил ключевое слово self
в методе полного имени, поэтому я получаю:
TypeError: fullname() takes 0 positional arguments but 1 was given
Это ошибка аргументов? Мое предположение было нет, поэтому я попытался:
class Employee:
def __init__(foo, first, last):
foo.first = first
foo.last = last
def fullname():
return '{} {}'.format(self.first, self.last)
emp = Employee('rob', 'm')
print(emp.fullname())
и некоторые другие вещи, такие как исключение себя из оператора return в fullname()
. Тем не менее, каждый метод изменения говорит, что ошибка TypeError
. Так что я в замешательстве, почему fullname()
передается аргумент?