国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python中tab鍵是什么意思

瀏覽:6日期:2022-07-20 14:24:16

對(duì)于程序員來(lái)說(shuō),其實(shí)Tab和空格遠(yuǎn)遠(yuǎn)不只是“立場(chǎng)”問(wèn)題那么簡(jiǎn)單。

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

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

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

我們來(lái)看一段代碼。

class MyForm(Form): value1 = StringField(’value1’) value2 = StringField(’value2’) value3 = StringField(’value3’) #這行用的是Tab縮進(jìn) submit = SubmitField(’Submit’) learn python = ’QQ group:725479218’

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

value3 = StringField(’value3’)

IndentationError: unexpected indent

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

這個(gè)時(shí)候有的童鞋就要說(shuō)了,我用PyCharm(或者其他IDE)怎么從來(lái)都沒(méi)有出現(xiàn)這樣的問(wèn)題呢?

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

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

空格代替Tab的好處:

空格在各種情況下代碼都是你想要的樣子。而 tab 僅僅當(dāng)你與代碼作者的 tab 尺寸設(shè)定為相同時(shí),代碼才好看。修改 tab 尺寸并不能解決這個(gè)問(wèn)題,因?yàn)槟愫茈y做到每打開一個(gè)文件就修改一次 tab 尺寸,而每個(gè)人通常有不同的習(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 尺寸。我看過(guò)許多代碼,其使用的 tab 尺寸有從 2,3,4,5,6,8,16 甚至 32 的,如果你使用的 tab 尺寸與作者不同,外觀將很不理想。

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

tab 是制表符而不是縮進(jìn)符,正如在 html 頁(yè)面中大量使用<table>進(jìn)行布局是個(gè)不好的編程習(xí)慣一樣,在編程中大量使用制表符布局通常也不是個(gè)好習(xí)慣。

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

內(nèi)容擴(kuò)展:

Python_Tab鍵的使用

1. 在shell中輸入表達(dá)式時(shí),只要按下Tab鍵,當(dāng)前命名空間中任何與已輸入的字符串相匹配的變量(對(duì)象,函數(shù)等)就會(huì)被找出來(lái):

In[1]: an_orange = 27In[2]: an_pear = 15In[3]: an(按<Tab>)anorange an_pear and any

2.在任何對(duì)象后面輸入一個(gè)句點(diǎn)以便自動(dòng)完成方法和屬性的輸入:

In[1]: a = [1,2,3]In[2]: a.<Tab>a.append a.extend a.remove a.sorta.count a.index a.pop a.reserve

3.應(yīng)用在模塊上:

In[1]: import pandasIn[2]: pandas.<Tab>pandas.cut pandas.core pandas.concat

4.當(dāng)輸入任何看上去像是文件路徑的東西時(shí)(即使是在一個(gè)Python字符串中),按下Tab鍵即可找出電腦文件系統(tǒng)中與之匹配的東西。

5.Tab鍵自動(dòng)完成功能可用于函數(shù)關(guān)鍵字參數(shù)。

到此這篇關(guān)于python中tab鍵是什么意思的文章就介紹到這了,更多相關(guān)python中的tab鍵表示什么意思內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 美女和男人免费网站视频 | swag国产精品一区二区 | 免费一级毛片麻豆精品 | 午夜香蕉成视频人网站高清版 | 亚洲一区二区三区高清网 | 亚洲日本在线看片 | 国产黄a三级三级三级 | 国产亚洲精品一区久久 | 久久福利资源站免费观看i 久久高清精品 | 久久精品国产屋 | 成年人三级黄色片 | 久久久久免费精品国产 | 黄色网址国产 | 韩国巨胸女三级视频网 | 久久影院国产 | 97在线播放视频 | 欧美成人全部视频 | 久久久久一区二区三区 | 国产精品亚欧美一区二区三区 | 欧美毛片a级毛片免费观 | 久久精品国产亚洲7777小说 | 亚洲精品色一区二区三区 | 国产精品久久久久久久久99热 | 国产三级毛片视频 | 国产成人aa在线视频 | 91精品欧美一区二区综合在线 | 一 级 黄 色 片生活片 | 免费乱淫视频 | 亚洲精品99久久一区二区三区 | 九九99精品 | 国产成人精品午夜视频' | 亚洲一区二区精品视频 | 久久99亚洲精品久久久久网站 | 久草久草在线视频 | 大量愉拍情侣在线视频 | 日韩亚洲成a人片在线观看 日韩亚洲精品不卡在线 | 亚洲国产精品久久久久久网站 | 精品国产杨幂在线观看福利 | 欧美成人亚洲国产精品 | 国产一区二区亚洲精品天堂 | 国产美女精品一区二区三区 |