martes, 26 de noviembre de 2013

Clases y Objetos en Python


Python es un lenguaje de programación multiparadigma, es decir, podemos utilizarlo para programación estructurada, programación funcional o para el paradigma del que haremos uso en este tutorial, la programación orientada a objetos.
¿Pero a qué nos referimos con esto?, lo que busca este paradigma es poder reflejar todo lo que encontramos en el mundo real y que es importante para nuestro problema a través de clases y objetos.


Empecemos

Una clase no es más que una plantilla genérica donde definimos las características (atributos) y las funcionalidades (métodos) que tendrán los objetos creados a partir de esta clase. Mientras un objeto es una entidad particular que tendrá definido el valor de sus características.
Por ejemplo: Creamos una clase llamada libro de la siguiente manera:
class Libro():

"""Constructor"""
 def __init__(self):
  """Inicializamos Variables"""
  self.titulo = ""
  self.autor = ""
  self.estado = true
Entonces con esta clase podremos crear un sin número de objetos y cada uno tendrá sus valores particulares, por ejemplo dos objetos creados a partir de nuestra clase libro pueden ser:

Objeto 1:
título: Python para todos.
autor: Raúl González Duque
estado: true (Lo que para nosotros significará "disponible")

Objeto 2:
título: Pro Git
autor: Scott Chacon
estado: false (Lo que para nosotros significará "no disponible")

¡Manos a la obra!

Ahora viene lo divertido hasta el momento ya tenemos definida nuestra clase ahora solo tenemos que crear o instanciar los objetos en nuestro main. Pero mantener un orden sigamos los siguientes pasos:

  1. Creamos nuestra carpeta para el proyecto y dentro de ella nuestro paquete con el nombre clases y nuestro archivo main.py donde estará nuestro método main().
  2. Dentro de nuestro paquete clases crearemos nuestro archivo clsLibro.py y el crearemos nuestra clase como lo realizamos en el ejemplo.
  3. class Libro():
    
    """Constructor"""
     def __init__(self):
      """Inicializamos Variables"""
      self.titulo = ""
      self.autor = ""
      self.estado = true
    
  4. Desde nuestro archivo main.py importaremos el archivo de nuestra clase de la misma manera como hemos hecho en las entradas anteriores.
  5. import sys
    sys.path.append('clases')
    import clases.clsLibro
    
  6. Como se mencionó anteriormente en python no es necesario la declaración de variables por lo que podemos acceder a los atributos de nuestras clases en nuestro método main() de la siguiente manera:
  7. def main():
    
     """Asignamos valores a los atributos de nuestro objeto"""
     clases.clsLibro.titulo = 'Python para todos'
     clases.clsLibro.autor = 'Raul Gonzalez Duque'
     clases.clsLibro.estado = True
     """Mostramos en pantalla los valores asignados"""
     print(clases.clsLibro.titulo)
     print(clases.clsLibro.autor)
     print(clases.clsLibro.estado)
    
  8. Luego solo tenemos que ejecutar desde consola nuestro archivo main.py y tendremos el siguiente resultado:

Y así es como debemos de trabajar con clases y objetos en python, recuerda dejar tus comentarios, siempre trataremos de resolver cualquier duda que tengan.

El código puedes encontrarlo también en github.

No hay comentarios:

Publicar un comentario