No soy experto en python (aunque "programo" todos los días en el lenguaje), pero puedes hacer lo siguiente:
class Automovil():
def __init__(self, ruedas, puertas):
self.ruedas = ruedas
self.puertas = puertas
def mostrar(self):
print(f"ruedas...: {a.ruedas}\npuertas..: {a.puertas}")
class Audi(Automovil):
def __init__(self, ruedas, puertas, color, modelo):
# Prefiero este tipo de llamado a 'super' por ser compatible con python 2.7
super(Audi, self).__init__(ruedas=ruedas, puertas=puertas)
# super().__init__(ruedas, puertas)
self.color = color
self.modelo = modelo
def mostrar(self):
# print(f"\nruedas...: {b.ruedas}\npuertas..: {b.puertas}\ncolor....: {b.color}\nmodelo...: {b.modelo}")
print(f"\n") # Esto es para agregar una linea
super(Audi, self).mostrar() # Llama a mostrar de la clase padre para que imprima ruedas y puertas
print(f"color....: {b.color}\nmodelo...: {b.modelo}") # Imprime los atributos agregados en Audi (color y modelo)
a = Automovil(ruedas=4, puertas=5)
a.mostrar()
b = Audi(ruedas=4, puertas=4, color='azul', modelo=2020)
b.mostrar()
Eso es si quieres agregar atributos en la clase Audi.
En tu caso, agregaría los atributos de color y modelo a la clase Automovil y agregaría otro atributo llamado 'marca' que tendría uno de los valores en las marcas soportadas (puedes crear constantes con los valores de cada marca y asignarlo en dicho atributo).
Saludos!