Как написать функцию с переменной снаружи?

Я надеюсь, что вы можете помочь. Я ищу способ написать функцию, которая вставляет один элемент позже. Позвольте мне показать вам пример:

def general_poly(L):
        """ 
        L, a list of numbers (n0, n1, n2, ... nk)
        Returns a function, which when applied to a value x, returns the value 
        n0 * x^k + n1 * x^(k-1) + ... nk * x^0 
        """
        x = 1
        res = 0
        n = len(L)-1
        for e in range(len(L)):
            res += L[e]*x**n
            n -= 1
        return res

Я думал, что мог бы просто датьx значение здесь и когда я делаюgeneral_poly(L)(10) это будет заменено так, чтобыx = 10 но, видимо, это не так просто. Что я должен изменить / добавить, чтобы моя функция работала? Как функция узнает, что умножение являетсяx? Спасибо за помощь ребята!