午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

python中tab鍵是什么意思

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

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

在不同的編輯器里tab的長度可能不一致,所以在一個編輯器里用tab設(shè)置縮進后,在其它編輯器里看可能縮進就亂了。空格不會出現(xiàn)這個問題,因為空格就占一個字符的位置。

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

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

我們來看一段代碼。

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

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

value3 = StringField(’value3’)

IndentationError: unexpected indent

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

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

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

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

空格代替Tab的好處:

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

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

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

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

內(nèi)容擴展:

Python_Tab鍵的使用

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

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

2.在任何對象后面輸入一個句點以便自動完成方法和屬性的輸入:

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.應用在模塊上:

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

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

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

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

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 少妇久久久久久久 | 天天亚洲 | 五月天久久婷婷 | 午夜精品免费观看 | 菊花综合网 | 99色视频 | 亚洲高清在线观看视频 | 2024国产精品 | 一区二区三区在线免费 | 婷婷五月在线视频 | 青青青视频在线播放 | 精品国产户外野外 | 色av中文字幕 | 成人污污www网站免费丝瓜 | 日韩精品一二三四区 | 在线不欧美 | 蝌蚪视频在线观看 | 青草久久久久 | 国产超碰自拍 | 国产精品成av人在线视午夜片 | 国产97色 | 婷婷在线免费视频 | www激情| 黄色小视频在线播放 | 日韩一级免费毛片 | 久99热| 五月婷婷激情在线 | 九色在线视频 | 在线观看欧美日韩视频 | 成人99视频 | 成人免费毛片xxx | 亚洲网友自拍 | 日本不卡视频在线 | 中文字幕一区二区不卡 | 亚洲天堂精品在线 | 欲色淫香 | 亚洲一区二区三区蜜桃 | 四虎8848精品成人免费网站 | 97成人在线观看 | 日韩三级视频 | 成人国产精品久久 |