Como escrever função com variável de fora?

Eu espero que você possa ajudar. Estou procurando uma maneira de escrever uma função que insere um item posteriormente. Deixe-me mostrar-lhe um exemplo:

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

Eu pensei que poderia apenas darx um valor aqui e uma vez que eu façogeneral_poly(L)(10) será substituído para quex = 10 mas aparentemente não é assim tão fácil. O que preciso alterar / adicionar para que minha função funcione? Como a função sabe que a multiplicação é ax? Obrigado pela ajuda, pessoal!

questionAnswers(2)

yourAnswerToTheQuestion