Paradigmas de programación en Python

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.

programmin-paradigms

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *