我一直在閱讀PEP 8,但我不明白爲什麼Python3會在這個錯誤信息中挑出混合標籤和空格。爲什麼混合製表符和空格而不是其他PEP8違規?
TabError: inconsistent use of tabs and spaces in indentation
我明白了一致性的重要性,但認爲暫停執行似乎偏激,特別是由於混合製表符和空格不會對編譯器和最良好的編輯器支持選項卡/空間轉換任何區別的錯誤消息。最重要的是,Python3在忽略其他PEP慣例(例如使用三個空格縮進而不是四個空格)時沒有問題,您甚至不會收到警告消息。
那麼,爲什麼Python3突然間把混合空間和標籤當作最終的邪惡呢?
'尤其是因爲混合的製表符和空格對編譯器沒有任何影響。 - 從我讀過的內容來看,編譯器完全依賴'\ t'。其他空格是不一致的。 – finnrayment
它不會像執行拒絕一樣「停止執行」。 :) –