El paradigma también se puede denominar como un método para resolver algunos problemas o realizar algunas tareas. Un paradigma de programación es un enfoque para resolver el problema usando algún lenguaje de programación o también podemos decir que es un método para resolver un problema usando herramientas y técnicas que están disponibles para nosotros siguiendo algún enfoque. Hay muchos lenguajes de programación que se conocen, pero todos necesitan seguir alguna estrategia cuando se implementan y esta metodología/estrategia son paradigmas. Aparte de las variedades de lenguajes de programación, hay muchos paradigmas para satisfacer todas y cada una de las demandas.
Python admite tres tipos de paradigmas de programación
- Paradigmas de programación orientada a objetos
- Paradigmas de programación orientada a procedimientos
- Paradigmas de programación funcional
Paradigmas de programación orientada a objetos
En el paradigma de la programación orientada a objetos, los objetos son el elemento clave de los paradigmas. Los objetos se pueden definir simplemente como la instancia de una clase que contiene tanto los miembros de datos como las funciones del método. Además, el estilo orientado a objetos relaciona miembros de datos y funciones de métodos que admiten la encapsulación y, con la ayuda del concepto de herencia , el código se puede reutilizar fácilmente, pero la principal desventaja del paradigma de programación orientada a objetos es que si el código no es correctamente escrito, entonces el programa se convierte en un monstruo.
Ventajas
- Relación con entidades del mundo real
- Reutilización de código
- Abstracción u ocultación de datos
Desventajas
- Protección de Datos
- No apto para todo tipo de problemas.
- Velocidad lenta
Ejemplo:
# class Emp has been defined here class Emp: def __init__(self, name, age): self.name = name self.age = age def info(self): print("Hello, % s. You are % s old." % (self.name, self.age)) # Objects of class Emp has been # made here Emps = [Emp("John", 43), Emp("Hilbert", 16), Emp("Alice", 30)] # Objects of class Emp has been # used here for emp in Emps: emp.info()
Producción:
Hello, John. You are 43 old. Hello, Hilbert. You are 16 old. Hello, Alice. You are 30 old.
Nota: Para obtener más información, consulte Programación orientada a objetos en Python
Paradigmas de programación procedimental
En los paradigmas de programación orientada a procedimientos, las series de pasos computacionales se dividen en módulos, lo que significa que el código se agrupa en funciones y el código se ejecuta en serie paso a paso, por lo que básicamente combina el código en serie para instruir a una computadora con cada paso para realizar un determinado tarea. Este paradigma ayuda en la modularidad del código y la modularización generalmente se realiza mediante la implementación funcional. Este paradigma de programación ayuda a organizar fácilmente los elementos relacionados sin dificultad, por lo que cada archivo actúa como un contenedor.
Ventajas
- Programación de propósito general
- Reutilización de código
- Código fuente portátil
Desventajas
- Protección de Datos
- No apto para objetos del mundo real.
- más difícil de escribir
Ejemplo:
# Procedural way of finding sum # of a list mylist = [10, 20, 30, 40] # modularization is done by # functional approach def sum_the_list(mylist): res = 0 for val in mylist: res += val return res print(sum_the_list(mylist))
Producción:
100
Paradigmas de programación funcional
Los paradigmas de programación funcional son un paradigma en el que todo se vincula en el estilo de funciones matemáticas puras. Se conoce como paradigmas declarativos porque utiliza declaraciones exageradas. Utiliza la función matemática y trata cada declaración como una expresión funcional, ya que se ejecuta una expresión para producir un valor. Las funciones Lambda o Recursion son enfoques básicos utilizados para su implementación. Los paradigmas se centran principalmente en «qué resolver» en lugar de «cómo resolver». La capacidad de tratar las funciones como valores y pasarlas como argumento hace que el código sea más legible y comprensible.
Ventajas
- Sencillo de entender
- Facilitar la depuración y las pruebas
- Mejora la comprensión y la legibilidad del código.
Desventajas
- Bajo rendimiento
- Escribir programas es una tarea abrumadora
- Baja legibilidad del código.
Ejemplo:
# Functional way of finding sum of a list import functools mylist = [11, 22, 33, 44] # Recursive Functional approach def sum_the_list(mylist): if len(mylist) == 1: return mylist[0] else: return mylist[0] + sum_the_list(mylist[1:]) # lambda function is used print(functools.reduce(lambda x, y: x + y, mylist))
Producción:
110
Nota: Para obtener más información, consulte Programación funcional en Python
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA