Я пытаюсь наследовать от этого класса:Ошибка метода Unbound метода Python?
class Event(Clock, Calendar):
def __init__(self):
year,month,day, hours, minutes,seconds = time.localtime()[0:6]
eClock = Clock(hours,minutes,0)
eCal = Calendar(month, day, year)
def createEvent(self,year,month,day,hours,minutes):
year,month,day = date[0:]
hours,minutes = ttime[0:2]
Для того, чтобы создать событие здесь:
sett = line[1:].split(",") # Line[1:] is going to be a
# date, such as 1/8/17 17:50.
date = sett[0]
ttime = sett[1]
ttime = ttime.split(":")
date = date.split("/")
Cevent = ttime + date
Cevent.event()
У меня есть еще один класс, названный Reminder, что inits это:
event = Event.createEvent()
В любое время, когда я пытаюсь запустить эту программу, это дает мне эту ошибку:
TypeError: unbound method createEvent() must be called with Event instance as first argument (got nothing instead)
Мне интересно, почему и как я могу использовать метод createEvent и использовать его в другом классе в том же файле.
На самом деле я не знаю, чего вы пытаетесь достичь здесь. Ошибка заключается в том, что 'createEvent' является обычным методом, делает его« classmethod' или 'staticmethod' или вызывает его в реальном экземпляре' Event(). CreateEvent() '. Но я действительно не знаю, что ваш класс пытается сделать, потому что ничего не сохраняется как свойства и ничего не возвращается. – MSeifert
Если 'createEvent' не предназначен для атрибута экземпляра, вы можете так же легко определить его на уровне модуля - он не должен быть в классе. Если вы хотите, чтобы метод класса вместо метода экземпляра украшал/определял его так: -https: //docs.python.org/3/library/functions.html#classmethod. Для статического метода - https://docs.python.org/3/library/functions.html#staticmethod. – wwii
http://stackoverflow.com/a/27568860/2823755 - Вы должны посмотреть на все ответы в Q & A. – wwii