class HouseLocation():
def __init__(self,street_name,x,y):
self.street_name=street_name
self.x=x
self.y=y
def print_address():
print '{}: {},{}'.format(street_name,x,y)
Я предполагаю, что код очень прост и объясняет сам я предполагаю теперь моя проблема, когда я пытаюсь запустить егоCalling класс * простой код *
k=HouseLocation('lol lo', 3,7)
k.print_address()
я получаю следующее сообщение об ошибке
Traceback (most recent call last):
File "", line 1, in
k.print_address()
TypeError: print_address() takes no arguments (1 given)
Может кто-нибудь объяснить, что я делаю неправильно?
Добавить параметр 'self' в метод – fafl
Методам передается объект, которому принадлежит их в качестве первого параметра. По соглашению мы называем это 'self' в Python (но' def foobar_method (omg_its_me) 'синтаксически корректен). Также обратите внимание, что 'street_name',' x' и 'y' не определены внутри' HouseLocation.print_address'. Поскольку методы получают своих владельцев в качестве первого аргумента, вы можете использовать их атрибуты, но вы должны ссылаться на них как таковые! ('self.street_name',' self.x', 'self.y') –