- 1

Fundamentos de Programación con Python para Principiantes
02:04 - 2

Instalación y Uso Básico de Python en Windows y Mac
08:10 - 3

Semántica y Sintaxis en Programación Python
10:15 - 4
Práctica: Te doy la bienvenida a los ejercicios interactivos
00:00 - 5

Manejo de Cadenas y Operaciones Básicas en Python
13:06 - 6

Tipos de Datos en Python: Enteros, Flotantes y Booleanos
07:22 - 7
Dominio de la función `print` en Python: usos y formatos avanzados
04:00 - 8

Operaciones matemáticas avanzadas en Python: módulo, potencia y más
11:01 - 9

Entrada de información y manejo de tipos de datos en Python
04:53
Recursividad en Python: Factoriales y Serie de Fibonacci
Clase 21 de 63 • Curso de Python
Contenido del curso
- 23

Programación Orientada a Objetos en Python: Clases y Métodos Básicos
14:11 - 24

Gestión de Biblioteca con Programación Orientada a Objetos
18:07 - 25

Herencia y Polimorfismo en Programación Orientada a Objetos
13:57 - 26

Programación Orientada a Objetos: Implementación de Clases y Herencia
13:10 - 27

Polimorfismo en Programación Orientada a Objetos
06:21 - 28

Herencia y Uso de la Función super() en Python
07:28 - 29
Programación Orientada a Objetos: Atributos, Métodos y `super()` en Python
05:06
- 37
Programación Avanzada en Python: POO, Excepciones y Proyectos
01:45 - 38

Escritura de Código Pytónico y Buenas Prácticas en Python
03:58 - 39

Comentarios y Docstrings: Buenas Prácticas en Programación
07:01 - 40

Tiempo de vida y alcance de variables en Python
14:11 - 41

Anotaciones de Tipo en Python para Código Más Legible
13:12 - 42

Validación de Tipos y Manejo de Excepciones en Python
13:05 - 43

Estructuras de Datos Avanzadas en Python: Collection y Enumeraciones
13:15
- 47

Uso de Métodos Mágicos en Python
06:47 - 48
Sobrecarga de Operadores en Python: Personaliza Comportamiento de Clases
04:18 - 49

Ejecutar scripts Python con `if __name__ == '__main__'`
05:42 - 50

Metaprogramación en Python: Métodos `__new__` y `__init__`
03:59 - 51

Uso de *args y **kwargs en funciones de Python
14:32 - 52

Métodos y Atributos Privados y Protegidos en Python
09:26 - 53

Uso de Property en Python: Getter, Setter y Eliminación de Atributos
07:56 - 54

Métodos estáticos y de clase en Python
07:46
La recursividad es una técnica fundamental en programación donde una función se llama a sí misma para resolver problemas complejos de manera más sencilla y estructurada.
¿Cómo se aplica la recursividad en el cálculo del factorial?
La recursividad se entiende mejor con ejemplos prácticos. El factorial de un número se define como el producto de todos los números desde ese número hasta 1. Por ejemplo, el factorial de 5 (5!) es 5 * 4 * 3 * 2 * 1.
En código Python, la función factorial se puede definir recursivamente de la siguiente manera:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
Este código sigue dos casos clave en la recursividad:
- Caso base: cuando
nes 0, la función retorna 1. - Caso recursivo: cuando
nes mayor que 0, la función retornanmultiplicado por el factorial den-1.
¿Cómo funciona la recursividad en la serie de Fibonacci?
La serie de Fibonacci es otra aplicación clásica de la recursividad. En esta serie, cada número es la suma de los dos anteriores, comenzando con 0 y 1. La fórmula es:
[ F(n) = F(n-1) + F(n-2) ]
El código Python para calcular el número n-ésimo en la serie de Fibonacci usando recursividad es el siguiente:
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
Aquí también se siguen dos casos:
- Caso base: cuando
nes 0 o 1, la función retornan. - Caso recursivo: para otros valores de
n, la función retorna la suma defibonacci(n-1)yfibonacci(n-2).