7.2. Clases y objetos en Python: atributos y métodos de una clase

Página 38

En Python, la programación orientada a objetos es un paradigma de programación que le permite estructurar programas de una manera clara y reutilizable. En este paradigma, los conceptos de clases y objetos son fundamentales. Exploremos estos conceptos en detalle.

Clases

Una clase en Python es como un modelo para crear objetos. Una clase define un conjunto de atributos que caracterizan cualquier objeto que se clasifica como perteneciente a la clase. Los atributos son miembros de datos (variables de clase y de instancia) y métodos, a los que se accede mediante notación de puntos.

Para definir una clase en Python, usamos la palabra clave "clase" seguida del nombre de la clase. Por ejemplo:

coche de clase:
    aprobar

En este ejemplo, definimos una clase llamada "Coche". La palabra clave "pass" se utiliza como marcador de posición cuando aún no se ha escrito el código que debe ir en esa ubicación.

Atributos de una clase

Los atributos de una clase son esencialmente variables que pertenecen a la clase. Pueden ser de dos tipos: variables de instancia y variables de clase.

Variables de instancia

Las variables de instancia son únicas para cada instancia de una clase. Esto significa que cada objeto de la clase tiene su propia copia de la variable de instancia y no se comparten entre objetos. Por ejemplo:

coche de clase:
    def __init__(yo, marca, modelo):
        self.marca = marca
        self.modelo = modelo

En este ejemplo, "marca" y "modelo" son variables de instancia. Cada objeto de la clase "Car" tendrá sus propias copias de estas variables.

Variables de clase

Las variables de clase, por otro lado, son compartidas por todos los objetos de la clase. Se definen dentro de la clase, pero fuera de cualquier método de la clase. Por ejemplo:

coche de clase:
    número_de_ruedas = 4
    def __init__(yo, marca, modelo):
        self.marca = marca
        self.modelo = modelo

En este ejemplo, "número_de_ruedas" es una variable de clase. Todos los objetos de la clase "Coche" compartirán el mismo valor para esta variable.

Métodos de una clase

Los métodos de una clase son funciones que pertenecen a una clase. Se utilizan para definir comportamientos para objetos de la clase. Por ejemplo:

coche de clase:
    número_de_ruedas = 4
    def __init__(yo, marca, modelo):
        self.marca = marca
        self.modelo = modelo
    def acelerar(yo):
        print(f'{self.brand} {self.model} se está acelerando.')

En este ejemplo, "acelerar" es un método de la clase "Car". Este método se puede invocar en cualquier objeto de la clase "Coche" para hacer que el coche acelere.

Objetos

Un objeto es una instancia de una clase. Cuando se define una clase, solo se define la descripción del objeto. Por lo tanto, no se asigna ningún espacio de memoria. Para asignar memoria para un objeto, debemos crear una instancia de la clase. Por ejemplo:

mi_coche = Coche('Ford', 'Mustang')

En este ejemplo, "my_car" es un objeto de la clase "Car". Tiene sus propios valores para las variables de instancia "marca" y "modelo", y puede utilizar el método "acelerar".

En resumen, las clases y objetos en Python permiten una estructuración clara y reutilizable de los programas. Las clases definen atributos y comportamientos que caracterizan a los objetos, mientras que los objetos son instancias de clases.

Ahora responde el ejercicio sobre el contenido:

¿Qué son las variables de instancia y las variables de clase en Python?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

397.3. Clases y objetos de Python: modificadores de acceso y encapsulación

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.