En principio entiendo la idea, es como asignar a una variable la creación del botón.
Sin embargo en el código de ejemplo citado por tí sigue sin funcionar que al hacer clic cambien los paneles que se muestran.
Además siempre se muestra el panel2 como activo cuando inicialmente debería verse solo el panel1.
probé colocar un
self.panel_2.Hide()
en varios lugares sin éxito