新聞中心
Python中的每一條語句都有一個(gè)縮進(jìn)級(jí)別,并且縮進(jìn)級(jí)別會(huì)使用棧的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)。在開始讀取文件之前,0(表示縮進(jìn)級(jí)別為0,無

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、奉化網(wǎng)站維護(hù)、網(wǎng)站推廣。
縮進(jìn))會(huì)被首先壓入棧中。然后從文件開頭到末尾,依次讀取每行邏輯代碼,每行邏輯代碼的縮進(jìn)級(jí)別都會(huì)和棧頂值進(jìn)行比較,如果相
等,那么什么都不會(huì)發(fā)生;如果比棧頂值大的話,那么該行邏輯代碼的縮進(jìn)級(jí)別就會(huì)被壓入棧中,同時(shí)會(huì)生成一個(gè)縮進(jìn)標(biāo)記(INDENT
TOKEN);如果比棧頂值小的話,那么棧中所有比該行邏輯代碼縮進(jìn)級(jí)別大的值都會(huì)從棧中移除,并且還會(huì)生成一個(gè)擴(kuò)展標(biāo)記(DEDENT
TOKEN)。
推薦:Python教程
下面是一個(gè)正確的縮進(jìn)案例:
def perm(l):#0 # Compute the list of all permutations of l if len(l) <= 1:# 1 return [l]# 2 r = []# 3 for i in range(len(l)):# 4 s = l[:i] + l[i+1:]# 5 p = perm(s)# 6 for x in p:# 7 r.append(l[i:i+1] + x)# 8 return r# 9
上面的#0行,縮進(jìn)0個(gè)字符,由于文件讀取之前0已經(jīng)被壓入棧中了,所以棧中的數(shù)據(jù)不會(huì)發(fā)生改變。#1縮進(jìn)4個(gè)字符,4被壓入棧中。#2縮進(jìn)18個(gè)字符,18被壓入棧中。#3縮進(jìn)4個(gè)字符,18被彈出棧,棧頂值又為4了。#4和#3縮進(jìn)一樣,所以不更新棧數(shù)據(jù)。#5縮進(jìn)13個(gè)字符,所以13被壓入棧中。#5、#6和#7的縮進(jìn)一樣,不更新棧數(shù)據(jù)。#8縮進(jìn)14個(gè)字符,14被壓入棧中。#9的縮進(jìn)4個(gè)字符,所以棧中的13和14都會(huì)彈出,棧頂值又恢復(fù)為4。
下面是一個(gè)錯(cuò)誤的案例
def perm(l): #1 error: first line indented for i in range(len(l)): #2 error: not indented s = l[:i] + l[i+1:] p = perm(l[:i] + l[i+1:]) #3 error: unexpected indent for x in p: r.append(l[i:i+1] + x)#4 return r #5 error: inconsistent dedent
分享題目:創(chuàng)新互聯(lián)Python教程:python縮進(jìn)可以用tab嗎
URL分享:http://www.5511xx.com/article/djdcjej.html


咨詢
建站咨詢
