“Conocimientos Programación>Python Programming

Funciones recursivas Python

2014/10/8
funciones recursivas son funciones que se llaman a sí mismos en su definición . Debido a una función recursiva se llama a sí mismo para llevar a cabo su tarea , puede hacer trabajos que contienen trabajos idénticos en múltiples objetos de datos más fácil de conceptualizar, planificar y escribir. Sin embargo , la recursión puede ser intensivo del sistema o terminar la sobrecarga del sistema si la recursión no se detiene . Escritura de funciones recursivas en Python es similar al uso de las funciones recursivas en otros lenguajes de programación , con las mismas ventajas y desventajas . Ejemplos de recursividad

funciones recursivas llaman a sí mismos como parte de su definición. Por ejemplo :

>>> factor de def (x ) :

. . . factor (x )

Esta función seguirá llamándose hasta que el sistema ya no puede contener la cantidad de llamadas a funciones realizadas ( llamadas a funciones residen en la memoria como cualquier otro dato ) . Sin embargo , esto simplifica cómo funciona conceptualmente a las funciones recursivas : Una función (factor ) llama a sí mismo (factor (x ) ), como parte de su definición
Base Casos

. Una función recursiva debe tener lo que podríamos llamar "los casos de base" o condiciones que indican la función de detener su recursividad. Esto podría ser cualquier condición de que la función pudo haber satisfecho como parte de su funcionamiento . Como un ejemplo clásico , la función factorial encuentra el factorial de un número n ( n! , O n * n * n - 1 - 2 ... 0 ) . Así que el factorial de 3 sería calcular a 3 * 2 * 1 = 6 . Un programador puede utilizar el número 0 como el caso base de esta función :

>>> if x == 0 :

. . . volver 1
recursividad

Si la función factorial tiene ahora un caso base ( x == 0), la recursividad se detendrá en esta condición. Por lo tanto, sólo sería una cuestión de usar recursividad para realizar la operación factorial :

>>> más:

. . . return x * factor (x - 1) spanish

Si x no es igual a 0 , entonces la repetición comenzará /continuar . La sentencia return llamará "factor" y esperar. Cada nueva llamada a la función hará lo mismo , llamar y esperar hasta que la última llamada de función ( cuando x == 0 ) devuelve 1 . A continuación, cada llamada anterior terminará la sentencia return (multiplique el valor devuelto por "factor " de x ) hasta el factorial se devuelve .
Python recursividad

recursividad en cualquier lenguaje puede terminar en un bucle infinito , es decir, una estructura recursiva que nunca termina hasta que el sistema impide que por falta de recursos. Python detiene esta recursión " infinita " en 1000 llamadas ( por lo que una función puede llamar a sí mismo en una cadena recursiva ejemplo 1000 - mucho antes de Python detiene el proceso ) . El programador puede cambiar este valor a través de las bibliotecas del sistema , como en este ejemplo :

>>> import sys >>>

sys.setrecursionlimit ( 2000 )

Sin embargo , en ese momento los programadores podría preguntarse si la recursividad es la mejor solución para el problema.

Página anterior:
Página siguiente:
Python Programming
Python Velocidad
Cómo utilizar un doble de bucles en Python
Cómo aplanar una lista anidada en Python
Cómo agregar todos los elementos de una lista en Python
Cómo determinar el orden alfabético en Python
Cómo calcular el Asin (X ) en Python
Cómo unirse a cadenas en Python
Cómo borrar una matriz o lista en Python
Conocimientos Informáticos © http://www.ordenador.online