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技術手冊》
python 第二章 物件與型別
可變物件和不可變物件 1,可變物件,list 列表 dict 字典 集合 set 位元組陣列。2,不可變物件,數值型別,字串,位元組串,元組 具體形式 注意條件 可變和不可變指的是該物件指向的記憶體是否可以改變。當修改不可變物件的時候,它會重新複製乙份,然後再改變相應的值,原來的那一分就會相當與垃圾...
python第二章上機實踐 演算法第二章上機實踐報告
1.實踐題目名稱 找第k小的數 2.問題描述 在n 1 n 1000 個無序的整數中找出第k小的數,且時間複雜度為o n 3.演算法描述 int partition int a,int left,int right 函式功能 將輸入的陣列進行排序,排序後的陣列需要滿足 基準左邊的數都小於基準,基準右...
python第二章上機實踐 第二章上機實踐報告
設計乙個平均時間為o n 的演算法,在n 1 n 1000 個無序的整數中找出第k小的數。輸入格式 輸入有兩行 第一行是n和k,0 第二行是n個整數 輸出格式 輸出第k小的數 輸入樣例 在這裡給出一組輸入。例如 10 4 2 8 9 0 1 3 6 7 8 2 輸出樣例 在這裡給出相應的輸出。例如 ...