> Trying to post some Python code somewhere that does not allow indenting ...
That is not the fault of the language, but of the site. This site recognises <code> and <pre> tags but fails to implement them in a useful way.
> What happens if somehow you end up with source that contains spaces and tabs?
You fire the programmer and/or get better tools and/or use how to configure them.
> The code could then surely APPEAR to mean one thing, but in fact means something completely different.
Like in C:
for (int i=0; i<10; i++)