Проблема с импортом класса из того же каталога

#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. Спасибо за вашу помощь, которая теперь имеет смысл!