我知道标签与空格有很多问题,但看起来,与PEP 0008关于Python 3的说法相反,混合标签和空格并不总是非法的.具体来说,在同一块中混合制表符和空格是非法的,但在同一文件中允许带有空格的块和带有制表符的块.
例如,这会在Python 3.4上引发TabError:
for x in range(10):
print(x) # Spaces
print(x) # Tab
Run Code Online (Sandbox Code Playgroud)
但这很好:
for x in range(10):
print(x) # Spaces
for y in range(5):
print(y) # Tab
Run Code Online (Sandbox Code Playgroud)
这是设计的吗?
编辑:问题不是标签是否比空格更好.问题是Python是否允许同一文件中的制表符和空格是设计的.