code: def laguerre_poly(n, x=None, alpha=0, polys=False):
      r"""Generates the Laguerre polynomial `L_n^{(\alpha)}(x)`.
  
      Parameters
      ==========
  
      n : int
          Degree of the polynomial.
      x : optional
      alpha : optional
          Decides minimal domain for the list of coefficients.
      polys : bool, optional
          If True, return a Poly, otherwise (default) return an expression.
      """
      return named_poly(
          n,
          dup_laguerre,
          None,
          "Laguerre polynomial",
          (x, alpha),
          polys,
      )
  
imports: from sympy.core.symbol import Dummy
  from sympy.polys.densearith import dup_mul, dup_mul_ground, dup_lshift, dup_sub, dup_add
  from sympy.polys.domains import ZZ, QQ
  from sympy.polys.polytools import named_poly
  from sympy.utilities import public
label_desc: Use image node_id 16 for calling a global function with example usage: laguerre_poly(n, x, alpha, polys) and returns: named_poly