¿Cómo se pueden crear nuevos ámbitos en python

En muchos idiomas (y lugares) existe una práctica agradable de crear ámbitos locales creando un bloque comoest.

void foo()
{
     ... Do some stuff ...

     if(TRUE)
     {
         char a;
         int b;

         ... Do some more stuff ...
     }

     ... Do even more stuff ...
 }

¿Cómo puedo implementar esto en Python sin obtener el error de sangría inesperado y sin usar algún tipo desi es verdad truco

Respuestas a la pregunta(9)

Su respuesta a la pregunta