![Flutter Arquitectura Limpia [10] – Bloc Scaffolding y Conversión de Entrada 43 flutter clean 10](https://rubenjromo.com/wp-content/uploads/2019/12/flutterclean10-240x172.png.webp)
Clases en Python [Guía Completa]
Todo lo que debes saber sobre las clases en Python
Creando una clase
En nuestro ejemplo, crearemos los "planos" para una persona. En comparación con la mayoría de los lenguajes, la sintaxis para definir una clase simple es muy mínima en Python.
En esta actividad, crearemos nuestra primera clase, llamada Person. Los pasos son los siguientes:
En su terminal, declare la clase usando la palabra clave class Python, seguida del nombre de la class Person. En el bloque, tenemos la palabra clave pass, que se utiliza como marcador de posición para el destino del resto de nuestra definición de clase:
[wp_ad_camp_1]
Esta estructura de Person puede encapsular diferentes atributos y métodos que serán específicos para ese objeto. Veremos esto con más profundidad más adelante en la línea.
Instanciando un objeto Person
Tener un plano para construir algo es un gran primer paso. Sin embargo, los planos no son muy útiles si no puedes construir lo que describen. Instanciar un objeto de una clase es el acto de construir lo que describe la clase.
De la clase Person que hemos definido, crearemos una instancia de un objeto Person. Los pasos son los siguientes:
Cree un objeto Person y asígnelo a la variable jack:
Ahora cree otro objeto y asígnelo a la variable Jill
Haga una comparación entre Jack y Jill para verificar si son objetos diferentes:
[wp_ad_camp_2]
Añadiendo atributos a un objeto
El método init
La forma adecuada de agregar atributos a un objeto es definiéndolos en el método de construcción del objeto. Un método constructor reside en la clase y se llama para crear un objeto. A menudo toma argumentos que se usan para establecer los atributos de ese objeto instanciado.
En Python, el método constructor para un objeto se llama __init __ (). Como su nombre lo indica, se llama al inicializar un objeto de una clase. Debido a esto, puede usarlo para pasar los atributos iniciales con los que desea que se construya su objeto.
La función hasattr () verifica si un objeto tiene un atributo o método específico. Cuando llamamos a la función hasattr () en la clase Person para verificar si tiene un método __init__, devuelve True. Esto también se aplica a todas las instancias de la clase:
Este método está aquí porque se hereda. Veremos más de cerca en qué consiste la herencia más adelante en este tutorial.
Podemos definir este método constructor en nuestra clase como una función y especificar atributos que deberán pasarse al crear instancias de un objeto:
Anteriormente, comparamos clases con planos de objetos. En el ejemplo anterior, estamos agregando más detalles a ese plano y declarando que cada objeto Person que se creará debe tener un atributo de nombre.
Tenemos los argumentos self y name en la firma del método __init__. El argumento del nombre se refiere al nombre de la persona, mientras que self se refiere al objeto que actualmente estamos en proceso de crear.
De hecho aquí puede usarse otro nombre y no necesariamente self, pero por conveniencia y facilidad de recordarlo usaremos self de manera de buena práctica de código.
Recuerde, el método __init__ se llama cuando se crean instancias de objetos de la clase Person, y dado que cada persona tiene un nombre diferente, debemos poder asignar diferentes valores a diferentes instancias. Por lo tanto, adjuntamos el atributo de nombre de nuestro objeto actual en la línea self.name = name.
[wp_ad_camp_3]
Añadiendo atributos a una clase
En esta actividad, agregaremos atributos a una clase Person. Los pasos son los siguientes:
Primero, cree la clase Person con un atributo de nombre e instancia un objeto sin pasar ningún argumento:
Python nos arroja un error ya que necesitamos pasar un argumento de nombre al instanciar un objeto Person. Este argumento se pasa al método __init__ cuando se instancia el objeto.
Instanciar un objeto Persona, pasando un argumento por nombre:
Ahora intente acceder al atributo desde nuestra instancia:
Redefina la clase Person para que defina más atributos que las instancias deberían inicializarse con, por ejemplo, nombre, edad y altura en centímetros:
Ahora, al crear instancias de un objeto Person, necesitaremos pasar los tres argumentos: nombre (name), edad (age) y altura_en_cm (height_in_cm).
Pase los tres valores, como se muestra aquí:
Definiendo una clase y objetos
Ejercicio
Supongamos que es un desarrollador de back-end para una plataforma de noticias tecnológicas. Se le ha pedido que diseñe un sistema de plantillas para sus artículos de noticias. Para hacer esto, deberá ejecutar alguna prueba de conceptos.
Defina la clase MobilePhone en el archivo main.py para que el siguiente código se ejecute sin error:
Eso les dejo de tarea. Espero ver sus respuestas en los comentarios.
Pueden ver la solución clickando aquí
Creando métodos en la clase
[wp_ad_camp_4]
Hasta ahora, hemos visto cómo agregar atributos a un objeto. Como mencionamos anteriormente, los objetos también se componen de comportamientos conocidos como métodos. Ahora veremos cómo agregar nuestros propios métodos a las clases.
Reescribiremos nuestra clase Person original para incluir un método speak (). Los pasos son los siguientes:
Cree un método speak () en nuestra clase Person, de la siguiente manera:
La sintaxis para definir un método de instancia es familiar. Pasamos el argumento self que, como en el método __init__, se refiere al objeto actual en cuestión. Pasar self nos permitirá obtener o establecer los atributos del objeto dentro de nuestra función. Siempre es el primer argumento de un método de instancia.
Instanciar un objeto y llamar al método que hemos definido:
Pasando argumentos a métodos de instancias
[wp_ad_camp_5]
Al igual que con las funciones normales, puede pasar argumentos a los métodos en una clase. Aprendamos ahora cómo pasar argumentos a los métodos de instancia.
Y al inicializarlos obtenemos como ejemplo:
Agreguemos más lógica al método que verifica el nombre de la persona e imprima un mensaje diferente si la persona se llama Rogers:
Y ahora probemos el método greet:
Establecer atributos de instancia dentro de métodos de instancia
Crearemos un método de cumpleaños () que incremente la edad de la persona.
Primero, implemente el método birthday (), que toma la edad y la incrementa en 1:
Creemos una instancia de una Persona y verifiquemos la edad.
Llame al método de cumpleaños y verifique la edad nuevamente:
Felicidades, ahora puedes definir y usar clases. Puede agregarles métodos y atributos, así como crear instancias de objetos y usarlos. Si bien hay más que aprender, ya tiene las herramientas necesarias para crear programas básicos orientados a objetos.
Si quieres conocer otros artículos parecidos a Clases en Python [Guía Completa] puedes visitar la categoría 📊 Ciencia de Datos.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.
Very nice post. I just stumbled upon your blog and wanted to say that I have really enjoyed
surfing around your blog posts. After all I'll be
subscribing to your rss feed and I hope you write again very
soon!