Добавление аргументов в переменную

ЗИЛ

Новичок
Пользователь
Янв 3, 2022
45
1
8
Python:
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()

Нужно чтобы после отработки каждой функции добавлялся аргумент в comand и выводился на печать. Соответственно сначала comand из одного аргумента, потом из двух и из трёх.
Прошу помощи -- выводит пустую строку. Как изменить значение переменных?
 
Последнее редактирование:

ЗИЛ

Новичок
Пользователь
Янв 3, 2022
45
1
8
Ответ найден.
Использовать декоратор @property для вычисляемых динамически переменных.
Python:
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()
Перенос вычисления значения переменной comand в функцию с использованием декоратора @property позволяет изменять динамически получаемые значения интерактивно. Например в GUI с кнопками выбора.
 

Форум IT Специалистов