回覆列表
-
1 # 味冷
-
2 # 小鑫學渣
誰說不能使用tab,並且tab非常好用。在py語言中,tab可以用四個空格代替,即使你tab和空格混用,也可以用編輯器格式化程式碼工具搞定編譯。個人建議把tab設定成四個空格更好用。因為py的特性,相比其他語言來說,py的程式碼看上來更美觀。都是也有其他不便之處。不過還好,習慣了py的寫法。那就能健步如飛的寫程式碼了。
在下用的vscode 編寫的py。
-
3 # laonger
首先搞清楚,題主既然問到tab和空格混用,那就可以認為題主是說的tab符和空格符問題,並且知道tab鍵轉成空格的用法。
我個人是喜歡製表符(tab)的,製表符簡單,省位元組,表達能力強,進行程式碼格式化的時候更方便清晰。只不過在我的python生涯甚至程式設計師生涯中,沒有用過製表符。
不使用製表符的核心其實是交流問題。
製表符是有長度單位的,不同的列印系統(編輯器,印表機)會把製表符理解成不同長度,有的是兩個空格,有的是四個空格,有的是八個空格。所以不同的人看到效果不一樣,甚至是同一個人在不同的媒介上看到不一樣(比如紙)。
其實其他語言程式設計師早就被這個問題困擾過了,只不過其他語言不需要透過縮排來表達邏輯,所以多少能忍。python就不行了,你總不能說在螢幕上看到一層縮排的間,到了列印紙上就變成了兩層的空間。
所以,python大多數編碼標準就建議不要使用製表符。
至於空格和製表符混用,呵呵,你想象一下,在你的電腦上,是兩個空格加一個佔兩空格製表符,顯示成四個空格長度。兩層縮排即為八個空格長度。可是到了另一個電腦上,或者打印出來,人家一個製表符是四個空格長度,一層縮排變成了六個空格,兩層縮排變成十二個。根據你原有縮排規則,列印紙上的兩層縮排變成了你腦中的三層縮排。這麼精神分裂的自虐……還是不要做了吧
方便編譯器分析語句,一般語言都需要定義一種或者幾種語句分隔符。老的語言有用回車換行做語句分隔符的,c、java等主要用分號,python是一群用膩了c的程式設計師鼓搗出來的,想把語言搞得更自然一點兒,所以取消了分號;可是分隔符該有還是要有的,大神們怎麼商量的不知道,反正後來確定的就是現在這個結果了。這也是python嚴格限制空格數量的原因,如果是c編譯器,多打幾個空格都會被忽略,可是python多打空格就被識別成語句分隔符了。