Форум сайта python.su
0
Дано – есть переменная comand, которая вот такая: comand = arg1 + arg2 + arg3. Строковый тип.
Как сделать так чтобы после отработки первой функции в comand добавлялся первый аргумент, после отработки второй функции – второй и после отработки третьей функции – третий?
Набросал вот такой код:
class Func(): def __init__(self, **kwargs): self.arg1 = '' self.arg2 = '' self.arg3 = '' self.comand = self.arg1 + self.arg2 + self.arg3 def add_arg1(self): self.arg1 = input('Введите первый аргумент: ') print('Команда: ', self.comand) def add_arg2(self): self.arg2 = input('Введите второй аргумент: ') print('Команада: ', self.comand) def add_arg3(self): self.arg3 = input('Введите третий аргумент') print('Команда: ', self.comand) func = Func() func.add_arg1() func.add_arg2() func.add_arg3()
Отредактировано ZIL130 (Фев. 14, 2026 21:09:04)
Офлайн
0
Ответ найден.
Использовать декоратор @property для вычисляемых динамически переменных.
class Func(): def __init__(self, **kwargs): self.arg1 = '' self.arg2 = '' self.arg3 = '' #self.comand = self.arg1 + self.arg2 + self.arg3 def add_arg1(self): self.arg1 = input('Введите первый аргумент: ') print('Команда: ', self.comand) def add_arg2(self): self.arg2 = input('Введите второй аргумент: ') print('Команада: ', self.comand) def add_arg3(self): self.arg3 = input('Введите третий аргумент') print('Команда: ', self.comand) @property def comand(self): return self.arg1 + self.arg2 + self.arg3 func = Func() func.add_arg1() func.add_arg2() func.add_arg3()
Офлайн