sábado, 22 de noviembre de 2025

Mas y mas de POO en Python

 Fuente: Google & Coursera

Más información sobre la programación orientada a objetos
Estado: Traducido automáticamente del Inglés

Nota: Esta lectura sólo contiene una breve introducción a la Programación orientada a objetos.

Anteriormente, identificamos la Programación orientada a objetos como un paradigma de programación que se basa en objetos, que pueden contener tanto datos como código que manipula esos datos. Recordarás que una clase es un tipo de datos de un objeto que agrupa datos y funcionalidad, y que has encontrado algunos ejemplos de esta funcionalidad específica de la clase en forma de métodos y atributos. En esta lectura, vas a aprender más sobre Programación orientada a objetos y cómo funciona. Tener una comprensión básica de cómo funciona este proceso será muy útil cuando te encuentres con estos conceptos a lo largo de tu viaje de aprendizaje.

Repaso: Atributos y métodos

Las clases de Python son poderosas y convenientes porque vienen con características incorporadas que simplifican las tareas comunes de análisis de datos. Estas características se conocen como atributos y métodos.

  • Atributo: Valor asociado a un objeto o clase al que se hace referencia por su nombre utilizando la notación de puntos.

  • Método: Una función que pertenece a una clase y que normalmente realiza una acción u operación.

Una forma más sencilla de entender la distinción entre atributos y métodos es recordar que los atributos son características del objeto, mientras que los métodos son acciones u operaciones.

Por ejemplo, si la clase fuera Spaceship, (nave espacial) entonces los atributos podrían ser:

name (nombre)

kind (tipo)

speed (velocidad)

tractor_beam (Rayo tractor)

Se podría acceder a estos atributos escribiendo:

Spaceship.name

Spaceship.kind

Spaceship.speed

Spaceship.tractor_beam

Nótese que a estas características se accede utilizando sólo un punto.

Por otro lado, los métodos de la clase Nave espacial podrían ser:

warp()

tractor()

Estos métodos podrían utilizarse escribiendo:

Spaceship.warp() 

Spaceship.tractor()

Observe que los métodos van seguidos de paréntesis, y que es posible que reciban argumentos. Por ejemplo, Spaceship.warp(7) podría cambiar la velocidad de la nave a warp 7.

Definir clases con atributos y métodos únicos

Python te permite definir tus propias clases, cada una con sus propios atributos y métodos especiales. Esto ayuda a todo tipo de programadores a construir código reutilizable que hace su trabajo más eficiente. Incluso puedes construir la clase Spaceship mencionada anteriormente. El ejemplo, aquí, demuestra cómo hacerlo.

Nota: El siguiente bloque de código no es interactivo.

# Ejemplo
class Nave_espacial:
   # Atributo de clase
   rayo_tractor = 'off'

   # Instancia de atributos
   def __init__(self, nombre, tipo):
       self.nombre = nombre
       self.tipo = tipo
       self.velocidad = None

  # Instancia de metodos
   def propulsion(self, propulsion):
       self.velocidad = propulsion
       print(f'Propulsion {propulsion}, iniciar!')

   def tractor(self):
       if self.rayo_tractor == 'off':
           self.rayotractor = 'on'
           print('rayo_tractor encendido.')
       else:
           self.rayo_tractor = 'off'
           print('rayo_tractor apagado')

Sólo observe que la clase en sí se define en primer lugar y, a continuación, con sangría debajo de ella son los atributos y métodos. Esto es lo que significa que un atributo o método "pertenece a una clase" Los atributos y métodos se definen en el código de esa clase.

Una clase es como un plano para todas las cosas que comparten características y comportamientos. En este caso, la clase es Nave Espacial. Puede haber diferentes clases de naves espaciales. Pueden tener diferentes nombres y diferentes propósitos. Cada vez que creas un objeto de una clase determinada, estás creando una instancia de esa clase. Esto también se conoce como instanciar la clase. En el código anterior, cada vez que instancias un objeto de la clase Nave Espacial comenzará con su rayo tractor desactivado. El rayo tractor es un atributo de la clase. Todas las instancias de la clase Nave Espacial tienen uno. También hay atributos de instancia. Estos son atributos que puedes asignar cuando instancias el objeto.

# Create an instance of the Spaceship class (i.e. "instantiate")

# Crea una instancia de la clase Nave_espacial
nave = Nave_espacial('Mockingbird','rescue frigate')

# Check ship's name
# Chequea el nombre de la clase
print(nave.nombre)

# Check what kind of ship it is
# Cheuea el tipo de nave que es
print(nave.tipo)

# Check tractor beam status
# Chequea el estado del rayo tractor
print(nave.rayo_tractor)

Resultado:
Mockingbird
rescue frigate
off
El siguiente bloque de código utiliza el método warp() propulsion para establecer la velocidad de propulsión en siete. Luego comprueba la velocidad actual de la nave utilizando el atributo speed velocidad.
# Set warp speed
# configure la velocidad de propulsion
nave.propulsion(7)

# Check speed
# Verifique la vvelocidad
nave.velocidad
Resultado:
Propulsion 7, iniciar!
7
Este último bloque de código utiliza el método tractor() para activar el rayo tractor. A continuación, comprueba el estado actual del haz tractor utilizando el atributo tractor_beam rayo-tractor.
# Toggle tractor beam
nave.tractor()

# Check tractor beam status
print(nave.rayo_tractor)

Resultado:
rayo_tractor encendido.
on

Este es sólo un ejemplo básico destinado a demostrar algunas de las formas fundamentales en que las clases, atributos y métodos funcionan y cómo se relacionan entre sí, pero las clases pueden ser muy complejas y tener muchos atributos y métodos. Dependiendo del trabajo que realice como profesional de los datos, los conocimientos sobre programación orientada a objetos le serán útiles a la hora de definir sus propias clases, atributos y métodos para investigar los patrones, las relaciones y el significado que tienen los datos.

Puntos clave

Las clases constituyen el núcleo de los objetos de Python, razón por la cual Python es conocido como un lenguaje orientado a objetos. Los objetos de clase son poderosos porque contienen herramientas únicas diseñadas específicamente para esa clase. Los métodos son funciones que pertenecen a una clase; realizan acciones u operaciones, y utilizan paréntesis. Los atributos son valores o características asociadas con una clase o instancia de clase; no utilizan paréntesis. Y, aunque hay muchas clases, atributos y métodos pre-construidos en Python, hay un alto nivel de personalización que ofrece el paradigma de programación orientada a objetos.




No hay comentarios.:

Publicar un comentario

Entradas recientes

Mas y mas de POO en Python

 Fuente: Google & Coursera Más información sobre la programación orientada a objetos Estado: Traducido automáticamente del Inglés Traduc...

Entradas Populares