Найти - Пользователи
Полная версия: Генерация функции без eval
Начало » Python для новичков » Генерация функции без eval
1
Volk
Нужно сгенерить функцию, которая зависит от выражения, в котором используются параметры функции.
def get_spec_func(query):
    expression = filter_to_spec(json.loads(query))
    def spec_func(attrs):
        attrs = dict(attrs)
        return eval(expression)
    return spec_func

query - это типа набор условий и в этих условиях нужны значения параметров attrs функции spec_func
Можна как то решить без eval?
Если передать в filter_to_spec параметр attrs и вызвать expression = filter_to_spec(attrs, json.loads(query)) в spec_func, то оно ж будет выполняться при каждом вызове spec_func.
Можна ли как-то типа сделать блок кода с expression и подменить ему локальную переменную attrs?

py.user.next
приведи конкретный пример использования
конкретный пример исходных данных
конкретный пример результата
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB