Я новичок в объектно-ориентированном python, и я столкнулся с ошибкой, сказав, что NameError: имя 'self' не определено. Я искал много статей, но не смог решить.
Извините, если мой код выглядит глупым, это мои первые несколько дней с python. Поэтому я хочу использовать методы addStacks, setMentorOrLearner, setAvailableTime
для хранения данных и метод getMentor
для доступа к данным из переменных в __init__
и использовать их в методе getMentor
. Вот код:
class MyClass():
def __init__(self):
self.interest_expertise={}
self.time = 0
self.endtime = 0
self.role = ''
def addStacks(self):
self.interest_expertise=input("Enter area of Interest/Expertise")
def setMentorOrLearner(self):
self.role = input("Enter whether you are a Mentor or Student")
def setAvailableTime(self):
if role.equals("Mentor"):
self.time = int(input("Enter hour of start (Kindly use 24 hour format)"))
self.endtime= int(input("Enter hour of ending (Kindly use 24 hour format)"))
def getMentor(self):
interest = self.interest_expertise
time = self.time
end = self.endtime
t1 = int(input("Enter time: (kindly in 24 hour format)"))
topic = input("Enter the topic")
if (topic in interest):
if(time <= t1 < end):
print(self.mentor_name)
while (1):
i = int(input("Enter 1 to add data \n 2.To search for mentors \n 3. To Exit"))
if (i == 3):
break
elif (i == 2):
getMentor(self)
elif (i == 1):
addStacks(self)
setMentorOrLearner(self)
if __name__ == "__main__":
MyClass().run()