Parámetros opcionales de Python

Chicos, acabo de comenzar con Python recientemente y me confunden con los parámetros opcionales, digamos que tengo el programa así:

class B:
   pass

class A:
    def __init__(self, builds = B()):
        self.builds = builds

Si creo A dos veces

b = A()
c = A()

e imprimir sus compilaciones

print b.builds
print c.builds

Descubrí que están usando exactamente el mismo objeto,

<__main__.B instance at 0x68ee0>
<__main__.B instance at 0x68ee0>

Pero no es lo que quiero, ya que sib cambiado algún estado interno de las compilaciones, el dec El objeto también será cambiado.

¿Es posible recrear estos parámetros opcionales cada vez usando esta sintaxis de parámetros opcionales?

Respuestas a la pregunta(3)

Su respuesta a la pregunta