Python的基本組成——邏輯行和縮進
a="我是一個物理行" a="""我是一個邏輯行 因為我一條語句便跨越了2個物理行"""
Python程序的最基本的組成元素是語句,一條語句可以占有一個物理行,過長的語句可以占有多個物理行,此時這多個物理行組成了一個邏輯行,它們在物理上雖然跨越多行,但是邏輯上是屬於同一部分。每個物理行的結尾可以是注釋,#之后到物理行結尾為止的所有字符都是注釋部分,Python解釋器將忽略注釋部分。
空行:
一個只包含注釋或空格的物理行,稱為空行,Python將完全忽略這一行代碼。另外需要注意的是,在交互式解釋器中,開發者必須輸入一個空的物理行,以終止一個多行語句。這個空的物理行不稱為空行,它不帶任何空格或注釋。
如何表示跨行的邏輯行:
只有一行的邏輯行: 一般在Python中,物理行的結尾也就表示大多數語句的結束。
多行的邏輯行:這需要分情況說明
(1)'\'可以將兩個相鄰的物理行連接成一個邏輯行,這需要一個條件就是連接的第一個物理行必須沒有注釋,'\'添加到第一個物理行的后面,注意:'\'前面的空格會被當成是物理行的內容;
(2)[]、{}、()可以跨越物理行;
(3)
三重引號字符串常量(包括單引號和雙引號)時,也可以跨越多行,但是有一點必須注意的:換行的時候需要在物理行的結尾加上'\'斜杠,否則會將換行符包括進去。
跨行例子:
a=2 #我只有一個物理行
a="我有兩個\ 物理行" #注意:第一行不能有注釋,a結果為'我有兩個物理行'
a="我有兩個 \ 物理行" #注意:'\'前有一個空格,第二行行首也有個空格,這兩個空格都屬於a的內容,a結果為'我有兩個 物理行'
a=""" 我有兩個 物理行""" #三重雙引號 ,結果會是 '我有兩個 物理行'
a=""" 我有兩個\ 物理行""" #三重雙引號 ,結果會是'我有兩個物理行 '
a=[2,3, 4,5] 或 a=[2,3, 4,5] #第二行的縮進不影響結果
縮進:
在C語言中有花括號來表示一個語句塊。與其他語言不一樣,Python沒有使用花括號或者其他開始和結束的定界符來表示一個語句塊。
縮進是Python表示語句塊的唯一方法。
一個語句塊中的所有語句必須使用相同的縮進,表示一個連續的邏輯行序列。
源文件的第一行不需要縮進(不允許以任何空格開始)。
另外需要注意一點的是:
n=int(input()) sum=0 while n>0: if n%3==0 or n%5==0: sum+=n n-=1 print(sum)
n=int(input()) sum=0 while n>0: if n%3==0 or n%5==0: sum+=n #修改了這一句 n-=1 print(sum)
Python會報錯,說明在控制語句中,語句塊內語句不僅需要相同的縮進,而且要保證整個語句塊在整個控制語句有一定的縮進,表示該語句塊是屬於該控制語句的。
關於縮進風格:
標准Python風格是每個縮進級別是使用4個空格,永遠不要使用Tab制表符!
因為不同編輯器,處理制表符的方式不同,有些會把它當成一個制表符,有的會將其看成是4個或4個以上的空格,因而會產生源代碼中制表符和空格的使用不一的后果,違反了Python的縮進規則。當然可以設置編輯器在打入Tab鍵時將其替換成相應個數的空格。
Python的代碼原則是代碼只包含空格!
參考:
《Python技術手冊》
本文鏈接: