Мне нужно запускать одну функцию несколько раз, когда 3 из 5 аргументов остаются неизменными каждый раз. Как я могу написать функцию, которая будет принимать уникальные аргументы в качестве входных данных и возвращать выходные данные внутренней функции в качестве уникальных переменных?
Функция, которую я пытаюсь запустить, является частью SQLalchemy:
sales = Table('sales', metadata, autoload=True, autoload_with=engine, schema=None)
Первый аргумент, имя таблицы, всегда отличается и также должен быть именем переменной. Последний аргумент иногда будет другим.
Моя идея состояла в том, чтобы создать словарь с именем table_name: schema_name и передать его функции, которая просматривает словарь и запускает функцию Table.
table_names = {'sales': None, 'orders': None, 'customers': 'cust_data'}
def represent_tables(tables: dict):
for table, schema in tables:
nonlocal exec(table)
exec(table) = Table(table, metadata, autoload=True,
autoload_with=engine, schema=schema)
represent_tables(table_names)
Полагаю, здесь есть два вопроса. Во-первых, как мне назвать новую переменную, используя строку, содержащуюся в другой переменной? Во-вторых, как я могу вернуть переменную из функции, чтобы она могла быть вызвана позже?