Tabs are there for exactly that purpose. If you want your code to line up properly, just comment on how wide your tabwidth is, and the reader of the code will adjust accordingly. Or indent in a tab-independent fashion.
I like my tabwidth set to 3 or 4. It makes code easier to read for myself. I can't stand it when I open a GNU project and it looks like someone threw up brackets all over my screen. This wouldn't happen if GNU didn't use an awkward mix of previously-assumed-8-spaces-wide tabs and spaces to indent their code.
[\t]int val = 0;
[\t]callSomeFunction(someOtherVal,
[\t].................val);
Anywho, it's a religious argument with no right answers. I was just justifying my preference.Especially with cutting and pasting sample code this is a total pain.
The interesting part is that many samples in python tutorials have their spacing messed up so that the samples don't work the way they're intended.
Python is a great little language, but this really keeps tripping me up.
anything else (php, c++, html, etc.) tabs