¿Cómo escribir función con variable desde el exterior?

Espero que puedas ayudar. Estoy buscando una manera de escribir una función que inserte un elemento más tarde. Dejame mostrarte un ejemplo:

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

Pensé que solo podía darx un valor aquí y una vez que lo hagogeneral_poly(L)(10) será reemplazado para quex = 10 pero aparentemente no es tan fácil. ¿Qué debo cambiar / agregar para que mi función funcione? ¿Cómo sabe la función que la multiplicación es lax? ¡Gracias por su ayuda chicos!

Respuestas a la pregunta(2)

Su respuesta a la pregunta