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()