Всем привет, программирую 2 недели и не до конца понял ООП/классы
Вот есть класс с парой аргументов при инициализации.
В конце я делаю экземпляр класса с аргументами.
Потом вызываю метод inp_name
и там уже цикл while 5 раз отрабатывает и записывает свои значения.
Я к тому, что в том методе в txt файл подставляются данные от input() в цикле.
А аргументы класса не подставились, как это работает?
Я думал они первоначально через self передадутся единоразово.
А на деле получилось, что я вызвал метод guest.inp_name()
и просто активировался while и эээ... аргументами из инициализации класса и не пахнет.
class Guest:
def __init__(self, inputt, inputt2):
self.inputt = inputt
self.inputt2 = inputt2
def inp_name(self):
filename = 'guest_3book.txt'
a = 0
while a < 5 :
a += 1
self.inputt = input("Введите ваше имя: ")
self.inputt2 = input("Введите вашу причину: ")
print(f'Привет, {self.inputt}!')
with open(filename, 'a') as file_object:
file_object.write(f'{self.inputt} \n')
file_object.write(f'Моя причина - {self.inputt2} \n')
guest = Guest('David', 'wow')
guest.inp_name()