#class #import
#класс #импорт
Вопрос:
Извините, если это кажется очень тривиальным вопросом, но я уже некоторое время пытаюсь импортировать класс из отдельного файла в том же каталоге. Я использую «из класса импорта имя_файла», код работает, когда все они находятся в одном файле, только когда он разделяется, я получаю сообщение об ошибке «вопрос не определен». Вот код в файле, содержащем класс (называемый обзором):
class AnonymousSurvey():
def __init__(self, question):
self.question = question
self.responses = []
def show_question(self):
print(question)
def collect_response(self,new_response):
self.responses.append(new_response)
def show_results(self):
print("Survey results")
number=1
for x in self.responses:
print(str(number) ". " x)
number =1
и вот код, который использует класс:
from survey import AnonymousSurvey
question = "What language can you speak?"
my_survey = AnonymousSurvey(question)
my_survey.show_question()
print("If you would like to quit press q")
while True:
response=input("languages")
if response == "q":
break
my_survey.collect_response(response)
my_survey.show_results()
Извините, если это кажется очень тривиальным, я новичок в программировании, и я был бы очень благодарен за любую помощь, поскольку я застрял в этом довольно долго 🙂
Ответ №1:
Я получаю сообщение об ошибке, что «вопрос не определен».
def show_question(self): print(question)
Indeed question
не определен в этой функции; конечно, вы имели в виду self.question
.
Комментарии:
1. Спасибо за ваш комментарий. Я попробовал это, и он выдал это сообщение об ошибке: «Модуль не назван ‘survey.py «; «опрос» — это не пакет».
2. О, имя файла уже survey.py он сохраняется как файл python, извините, я не указал это в вопросе!
3. Я пробовал это, но он по-прежнему говорит, что вопрос об имени не определен. Вот полное сообщение об ошибке: «Трассировка (последний последний вызов): Файл «C:/Users/Ahmed/OneDrive/Documents/Python Скрипты / Практические файлы / Тестирование code/language_survey.py «, строка 7, в файле <module> my_survey.show_question() «C:/Users/Ahmed/OneDrive/Documents/Python Скрипты / Практические файлы / Тестирование codesurvey.py «, строка 6, в show_question print(вопрос) Ошибка имени: имя «вопрос» не определено» Спасибо за вашу помощь 🙂
4. Извините, я не обратил достаточного внимания на сообщение об ошибке; Я исправил ответ.
5. Спасибо за вашу помощь, которая теперь имеет смысл!