Python寫代碼時使用tab還是空格

本篇內(nèi)容介紹了“Python寫代碼時使用tab還是空格”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

站在用戶的角度思考問題,與客戶深入溝通,找到翁源網(wǎng)站設(shè)計(jì)與翁源網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋翁源地區(qū)。

對于程序員來說,其實(shí)Tab和空格遠(yuǎn)遠(yuǎn)不只是“立場”問題那么簡單。

在不同的編輯器里tab的長度可能不一致,所以在一個編輯器里用tab設(shè)置縮進(jìn)后,在其它編輯器里看可能縮進(jìn)就亂了。空格不會出現(xiàn)這個問題,因?yàn)榭崭窬驼家粋€字符的位置。

大家都知道,Tab在ASCII碼中,編碼是9,而空格是32。這也就是說,當(dāng)我們按下一個Tab的時候,即使它看起來就是8個空格(或者4個空格,不同的環(huán)境下,Tab可能顯示的效果不同),對于電腦來說,卻是完全不一樣的東西。這也意味著,對于用字符來描述過程的代碼來說,極有可能會是決定性的差異。

尤其是對于一門用空格縮進(jìn)來區(qū)分代碼層次的語言——Python。

我們來看一段代碼。

class MyForm(Form):
 value1 = StringField('value1')
 value2 = StringField('value2')
 value3 = StringField('value3') #這行用的是Tab縮進(jìn)
 submit = SubmitField('Submit')

看起來這個value3變量和其他的變量沒有什么不同,然而卻出現(xiàn)了這樣的報(bào)錯——縮進(jìn)錯誤。

value3 = StringField('value3')
IndentationError: unexpected indent

其實(shí)Python并沒有強(qiáng)制要求你用Tab縮進(jìn)或者用空格縮進(jìn),甚至空格按幾個都沒有強(qiáng)制要求,但是卻絕對!絕對不能混用Tab和空格,那么這里,是不是空格和Tab的區(qū)別就顯得很大了呢?

這個時候有的同學(xué)就要說了,我用PyCharm(或者其他IDE)怎么從來都沒有出現(xiàn)這樣的問題呢?

其實(shí),很多IDE對Tab鍵做了各種各樣的優(yōu)化,其中有一條就是,將Tab鍵展開為為空格,也就是說,當(dāng)你按下Tab的時候,IDE實(shí)際上幫你把一個「9」轉(zhuǎn)換成了四個(或者八個)「32」。但是要注意,不是所有的IDE都幫你做了這樣的工作!同理,對于好純潔好不做作的編輯器Vim來說,肯定也不會幫你做這樣的工作了。

既然Tab在不同的環(huán)境下展現(xiàn)不一樣,而空格卻永遠(yuǎn)都是一樣的。對于一些細(xì)致排版縮進(jìn)來說(比如說想把每一行的注釋都對齊),用空格也更加精確。這樣看起來,確實(shí)是用空格來寫代碼要好于用Tab呢。

空格代替Tab的好處:

空格在各種情況下代碼都是你想要的樣子。而 tab 僅僅當(dāng)你與代碼作者的 tab 尺寸設(shè)定為相同時,代碼才好看。修改 tab 尺寸并不能解決這個問題,因?yàn)槟愫茈y做到每打開一個文件就修改一次 tab 尺寸,而每個人通常有不同的習(xí)慣(POSIX/Unix 標(biāo)準(zhǔn)的 tab 應(yīng)當(dāng)為 8 字符寬度,Linus 大神也規(guī)定 Linux 內(nèi)核中所有代碼的 tab 尺寸為 8)。如果存在行尾注釋,則 tab 尺寸更加是必須設(shè)定為與作者相同,這就意味著你看不同的代碼需要經(jīng)常修改 tab 尺寸。我看過許多代碼,其使用的 tab 尺寸有從 2,3,4,5,6,8,16 甚至 32 的,如果你使用的 tab 尺寸與作者不同,外觀將很不理想。

靠譜的IDE都能解決前進(jìn)后退增加減少縮進(jìn)的問題,即便是四個空格,一個退格鍵也能全退了,所以在使用的方便性方面根本不存在問題?!绻г箘h除調(diào)整還不能有效解決的,你需要研究一下你的編輯器了。實(shí)際上增加減少縮進(jìn)在主流編輯器中都直接有快捷鍵,無論是 tab 還是空格還是退格都很少直接被用于縮進(jìn)。

tab 是制表符而不是縮進(jìn)符,正如在 html 頁面中大量使用

進(jìn)行布局是個不好的編程習(xí)慣一樣,在編程中大量使用制表符布局通常也不是個好習(xí)慣。

一般情況下,團(tuán)隊(duì)開發(fā)都要制定一套編碼規(guī)范, 在大部分團(tuán)隊(duì)中,使用4個空格代替Tab是大家默認(rèn)的。所以非常建議大家使用空格代替Tab, 另外各個IDE(編輯器)都提供了tab自動轉(zhuǎn)換空格的功能,只要大家設(shè)置一下,按下tab鍵就可以出現(xiàn)4個或者多個空格

“Python寫代碼時使用tab還是空格”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

當(dāng)前題目:Python寫代碼時使用tab還是空格
當(dāng)前URL:http://muchs.cn/article18/gphddp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、營銷型網(wǎng)站建設(shè)、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)