91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于python中縮進的簡介

發布時間:2020-08-07 09:24:32 來源:億速云 閱讀:334 作者:小新 欄目:編程語言

這篇文章主要介紹了關于python中縮進的簡介,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

Python中的縮進(Indentation)決定了代碼的作用域范圍。這一點和傳統的c/c++有很大的不同(傳統的c/c++使用花括號花括號{}符

決定作用域的范圍;python使用縮進空格來表示作用域的范圍,相同縮進行的代碼是處于同一范圍)。

每行代碼中開頭的空格數(whitespace)用于計算該行代碼的縮進級(Indentationlevel),注意一個Tab會被替換為1~8個Space(具體的空格數量,不同的編譯器有不同的數量),縮進級別為0表示無縮進空格。

在一個源文件不建議同時使用空格和制表縮進符,當使用別人代碼的時候幾乎是不可能知道別人使用的是空格還是制表符,這時最好統一縮進,在IDEL編輯器中可以使用 Edit > Untabify Region 將任何制表符轉化為空格。

Python中的每一條語句都有一個縮進級別,并且縮進級別會使用棧的數據結構進行存儲。在開始讀取文件之前,0(表示縮進級別為0,無縮進)會被首先壓入棧中。然后從文件開頭到末尾,依次讀取每行邏輯代碼,每行邏輯代碼的縮進級別都會和棧頂值進行比較,如果相等,那么什么都不會發生;如果比棧頂值大的話,那么該行邏輯代碼的縮進級別就會被壓入棧中,同時會生成一個縮進標記(INDENT TOKEN);如果比棧頂值小的話,那么棧中所有比該行邏輯代碼縮進級別大的值都會從棧中移除,并且還會生成一個擴展標記(DEDENT TOKEN)。


下面是一個正確的縮進案例:

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行,縮進0個字符,由于文件讀取之前0已經被壓入棧中了,所以棧中的數據不會發生改變。#1縮進4個字符,4被壓入棧中。#2縮進18個字符,18被壓入棧中。#3縮進4個字符,18被彈出棧,棧頂值又為4了。#4和#3縮進一樣,所以不更新棧數據。#5縮進13個字符,所以13被壓入棧中。#5、#6和#7的縮進一樣,不更新棧數據。#8縮進14個字符,14被壓入棧中。#9的縮進4個字符,所以棧中的

13和14都會彈出,棧頂值又恢復為4。

下面是一個錯誤的案例

    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

#1、#2和#3處的錯誤解釋的很清楚了。#5的縮進級別在棧中找不到所以出錯,#5處的縮進級別是14,比它的上面一行縮進級別18,所以在

#5處應該進行出棧處理,但是在棧中找不到14這個級別,所以出錯。

又比如:

if True:    print("hello girl")else:    print("hello boy") print("end")

最后一行代碼的縮進級別是1,而且比上一行代碼的縮進級別小,所以應該出棧處理,但是在出站的時候找不到棧中以前有1的級別,所以報錯。修改這個錯誤,只需要將最后一行的空格去掉就可以。

感謝你能夠認真閱讀完這篇文章,希望小編分享關于python中縮進的簡介內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

晋城| 临漳县| 前郭尔| 常熟市| 乡城县| 三穗县| 六枝特区| 弥勒县| 上高县| 恭城| 衡阳市| 含山县| 吉木萨尔县| 鹤庆县| 潞城市| 衡东县| 惠水县| 玛多县| 岳西县| 郯城县| 屯昌县| 淮北市| 桂平市| 湟中县| 错那县| 沐川县| 噶尔县| 丹巴县| 施秉县| 古丈县| 蕲春县| 兴国县| 遂川县| 抚顺市| 乌鲁木齐市| 肇州县| 阜城县| 崇信县| 泗水县| 天津市| 荥经县|