Python: Calcular factorial de un número no integral

Me pregunto si hay una manera rápida y Pythonic de calcular factoriales de números no integrales (por ejemplo, 3.4). Por supuesto, la función factorial() en el módulo Math está disponible, pero solo funciona para integrales (aquí no me importan los números negativos).

Usted querría usar math.gamma(x) .

La función gamma es una extensión de la función factorial a los números reales.

Tenga en cuenta que la función se desplaza en 1 cuando se compara con la función factorial. Entonces math.factorial(n) es math.gamma(n + 1) .

En Python 2.7 o 3.2, puedes usar math.gamma(x + 1) . En versiones anteriores, necesitarías una biblioteca externa como SciPy.