Atributos de la clase

Pero la propia clase puede tener también atributos, que se heredarán por los objetos que se creen a partir de ella. Estos atributos de clase se definen fuera de los métodos. En el siguiente ejemplo vamos a crear el atributo de clase "pi" al que vamos a asignar el valor 3.141592:

class Circulo:
    
    pi = 3.141592
    
    def __init__(self, radio):
        self.radio = radio
    
    def area(self):
        return Circulo.pi * (self.radio ** 2)

Como habrás visto en la última línea de código, se accede a un atributo de clase precediendo el nombre del atributo por el nombre de la clase y un punto, en este caso Circulo.pi. Ahora creamos un objeto a partir de esta clase y ejecutamos el método area que devuelve el área del círculo:

c = Circulo(2)

c.area()

12.566368