Python

Python

Tutorial Python: Clases y objetos

Python clases objetos: creación y uso. Aprende a crear y usar clases y objetos en Python con ejemplos prácticos y detallados.

En Python, casi todo es un objeto, con sus propiedades y métodos. Una clase es como un constructor de objetos, o un "plano" para crear objetos.

Definición de Clase

Para definir una clase en Python, se utiliza la palabra clave class. El nombre de la clase sigue la convención de que la primera letra debe ser mayúscula.

class MiClase:
    x = 5

En el ejemplo anterior, MiClase es una clase simple con un solo atributo x. A los atributos de las clases se les puede acceder utilizando el operador . (punto).

Objetos

Un objeto es una instancia de una clase. Cuando se define una clase, solo se describe el plano. Para acceder a las funcionalidades de la clase se debe instanciar la clase, es decir, crear un objeto de la clase.

p1 = MiClase()
print(p1.x) # 5

En el ejemplo anterior, p1 es un objeto de MiClase y al acceder al atributo x de p1 se imprime el valor 5.

La función __init__

La función __init__ es una función especial que se llama automáticamente cuando se crea un objeto de una clase. Esta función se usa para asignar valores a las propiedades del objeto o para realizar otras operaciones que son necesarias cuando se crea el objeto.

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad

p1 = Persona("Juan", 30)

print(p1.nombre)
print(p1.edad)

En el ejemplo anterior, la función __init__ se utiliza para asignar nombres y edades a las instancias de la clase Persona. Cuando se crea un nuevo objeto p1, p1 se convierte en una instancia de Persona con nombre "Juan" y edad 30. self hace referencia a la propia instancia de la clase que se está creando.

Métodos de objeto

Los métodos de los objetos son funciones que pertenecen a los objetos de la clase. Esto es útil para hacer operaciones con los atributos de los objetos.

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad

    def saludo(self):
        print("Hola, mi nombre es " + self.nombre)

p1 = Persona("Juan", 30)
p1.saludo() # Hola, mi nombre es Juan

En este ejemplo, saludo() es un método que pertenece al objeto p1 de la clase Persona. Este método imprime un mensaje que incluye el nombre del objeto.

Modificación de propiedades

Pueden modificarse las propiedades de los objetos de la siguiente manera:

p1.edad = 40

En este ejemplo, el valor de edad de p1 se cambia a 40.

Eliminación de propiedades

Pueden eliminarse las propiedades de los objetos utilizando la palabra clave del:

del p1.edad

Ahora, p1 ya no tiene la propiedad edad.

Eliminación de objetos

También pueden eliminarse los objetos utilizando la palabra clave del:

del p1

Ahora, p1 ya no existe. Si intenta acceder a p1, Python lanzará una excepción porque ya no existe el objeto p1.

En resumen, las clases en Python proporcionan un medio de empaquetar datos y funcionalidad juntos. Al crear una nueva clase, se crea un nuevo tipo de objeto, lo que permite crear nuevas instancias de ese tipo. Cada instancia de la clase puede tener sus propios atributos. Las instancias de una clase también pueden tener métodos (definidos por su clase) para modificar su estado.

Certifícate en Python con CertiDevs PLUS

Ejercicios de esta lección Clases y objetos

Evalúa tus conocimientos de esta lección Clases y objetos con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Polimorfismo

Python
Puzzle

Clases y objetos

Python
Código

Listas

Python
Código

Crear módulos y paquetes

Python
Puzzle

Estructuras de control

Python
Test

Diccionarios

Python
Puzzle

Módulo math

Python
Test

Importar módulos y paquetes

Python
Test

Operadores

Python
Test

OOP en python

Python
Proyecto

Estructuras de control

Python
Código

Instalación de Python y creación de proyecto

Python
Test

Listas

Python
Puzzle

Estructuras de control

Python
Puzzle

Encapsulación

Python
Test

Gestor de tareas con operaciones CRUD en Python

Python
Proyecto

Clases y objetos

Python
Test

Crear módulos y paquetes

Python
Test

Encapsulación

Python
Puzzle

Tipos de datos

Python
Test

Herencia de clases

Python
Código

Tuplas

Python
Test

Herencia

Python
Puzzle

Módulo datetime

Python
Puzzle

Excepciones

Python
Puzzle

Operadores

Python
Puzzle

Funciones lambda

Python
Puzzle

Clases y objetos

Python
Puzzle

Diccionarios

Python
Test

Módulo os

Python
Puzzle

Listas

Python
Test

Conjuntos

Python
Puzzle

Funciones lambda

Python
Test

Tuplas

Python
Puzzle

Módulo json

Python
Puzzle

Ejercicio proyecto de Python con Pandas - Análisis de datos

Python
Proyecto

Operadores

Python
Código

Variables

Python
Puzzle

Tipos de datos

Python
Puzzle

Diccionarios en Python

Python
Código

Conjuntos

Python
Test

Módulo math

Python
Puzzle

Excepciones

Python
Test

Módulo csv

Python
Test

Importar módulos y paquetes

Python
Puzzle

Funciones Python

Python
Puzzle

Módulo json

Python
Test

Tipos de datos

Python
Código

Módulo datetime

Python
Test

Herencia

Python
Test

Funciones

Python
Test

Funciones Python

Python
Código

Variables

Python
Test

Módulo csv

Python
Puzzle

Introducción a Python

Python
Test

Polimorfismo

Python
Test

Módulo os

Python
Test

Todas las lecciones de Python

Accede a todas las lecciones de Python y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Certificados de superación de Python

Supera todos los ejercicios de programación del curso de Python y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender qué es una clase en Python y cómo se define usando la palabra clave class.
  2. Aprender a crear objetos a partir de una clase mediante la instanciación.
  3. Entender la función especial __init__ y cómo se utiliza para asignar valores a las propiedades de los objetos al momento de su creación.
  4. Conocer los métodos de objeto y cómo se definen dentro de una clase para realizar operaciones con sus atributos.
  5. Saber cómo modificar y eliminar propiedades de los objetos mediante la asignación de valores y la palabra clave del.
  6. Reconocer la utilidad de las clases en Python para empaquetar datos y funcionalidad juntos, permitiendo crear nuevos tipos de objetos y sus instancias.