rusyska55011
@rusyska55011

Нужно ли создавать аргументы для подфункции?

Внутри функции есть еще одна функция get_sorted_args(). И вопрос: нужно ли сделать так чтобы она принимала аргументы args и kwargs, или оставить так?? В моем случае она ничего не принимает и берет аргументы kwargs и args из вне, из основной функции

def connect(func):
        def wrapper(self, *args, **kwargs):
            db = sqlite3.connect(self.base)
            func(self, db, *args, **kwargs)
            db.commit()
        return wrapper

@connect
def cache(self, db_connection, *args, **kwargs):
        # Возвращает строку ключа tables, отсортированную от указании типов данных
        # прим. 'name TEXT, price INT' => 'name, price'
        def get_clear_table_cells() -> str:
            cells_arr = self.table_cells.split(',')
            clear_table_arr = [el.split()[0] for el in cells_arr]
            clear_table = ', '.join(clear_table_arr)
            return clear_table

        # Возвращает строку, подготовленную для заполнения в базу данных
        # прим. (54353453, 8, '656', True) {'arg': 10} => "'54353453', '8', '656', 'True', '10'"
        def get_sorted_args() -> str:
            args_arr = list(args) + [kwargs[el] for el in kwargs]
            args_arr_to_str = ["'" + str(el) + "'" for el in args_arr]
            sorted_args = str(', '.join(args_arr_to_str))
            return sorted_args

        clear_table_cells = get_clear_table_cells()
        sorted_args = get_sorted_args(args, kwargs)
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
@galaxy
Работает, как надо? Значит, все ок.
Почему сомнения возникли?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы