Hacker News new | ask | show | jobs
by damcedami 4057 days ago
That's pretty common style in Ruby. If he were a Python programmer and did that, then I'd be super unhappy.
1 comments

Python doesn't even allow tabs by default, does it?
You can use tabs and spaces, you can even use both without any problem. However, your indentation has to be coherent along the whole file. So you can use as your indentation pattern "4 spaces", "one tab", "2 spaces", "one tab + 2 spaces", but you can never change your pattern in the middle of the file, once you have chosen one pattern, you have to keep this one till the end of the file or it'll throw an indentation error.

But in reality, you should indeed stick with the "4 spaces" PEP8 compliant style.

once you have chosen one pattern, you have to keep this one till the end of the file or it'll throw an indentation error.

Only if the resulting indentation is an actual error. It's quite possible that the parser's interpretation of resulting indentation is a valid program with different semantics than you intended.

It does, and it doesn't warn you if you have both, it just breaks your program.
Python 2 does, Python 3 does not:

> TabError: inconsistent use of tabs and spaces in indentation

Note for pedant: Yes, you can mix tabs and spaces in Python3, but only if you do it absolutely consistently for the block and all sub-block.