一、Python語句
python語句大體上分爲:順序執行語句,條件執行語句,循環執行語句。
語句逐個運行
Python 從頭到尾執行文件中的嵌套塊中的語句
塊和語句的邊界自動檢測
Python 沒有 或者\ begin/end" 等分割字符
Python 使用首行下的語句縮進把嵌套塊內的語句組合起來,沒有分號結束,一行的末尾通常是語句的結尾
複合語句,首行 +":"+ 縮進語句
Python 中複合語句都遵循相同的格式,首行會以冒號終止,再接一個或者多個嵌套語句,通常都是在首行下縮進,縮進叫做塊 , 也可以稱爲組, if 語句中, elif 和else 分句都是 if 語句的一部分 , 也是本身嵌套塊的首行
空行,空格以及註釋通常都被忽略
文檔字符串,會忽略,但是會保存並由工具顯示
Python代碼塊
Python 自動以縮進爲邊界,也就是程序代碼左側的空白,縮進至右相同距離屬於統一塊代碼
Python語句分隔符
如果使用語法括號時,語句就可以橫跨多行
for i in range( 10): print i
如果語句是以反斜線結束,就可以橫跨多行
print 'Python \ is \ good'
字符串常量有特殊的規則 '""' 或者 "''"
print "he's a teacher"
二、If語句
if語句格式:
if 條件表達式:
代碼塊1
elif 條件表達式:
代碼塊2
elif 條件表達式:
代碼塊3
else
代碼塊4
if 語句有三部分組成:關鍵字本身,用於判斷真假的條件表達式,以及當表達式爲真或者非零時執行的代碼塊(關鍵字,條件表達式,代碼塊)
用於判斷真假的條件表達式,可以是一個或者是多個,也可以成爲多重表達式
一個複合語句(例如 if 子句, while 或 for 循環)的代碼塊僅僅包含一行代碼,可以在同一行輸入
elif 是 Python 的 else-if 語句, 它檢查多個表達式是否爲真, 並在爲真時執行特定代碼塊中的代碼.
和else一樣,elif聲明是可選的, 然而不同的是,if語句後最多只能有一個else語句,但可以有任意數量的elif語句.
a=87 if a>=90: print 'A' elif a>=80: print 'B' elif a>=70: print 'C' elif a>=60: print 'D' else: print 'E'
執行結果爲
B
三、While循環語句
while語句格式:
while (條件表達式):
代碼塊
while事實它上是一個條件循環語句. 與 if聲明相比, 如果 if 後的條件爲真, 就會執行一次相應的代碼塊. 而 while 中的代碼塊會一直循環執行, 直到循環條件不再爲真
使用 while 循環,因爲有可能 條件表達式 永遠不會爲布爾假. 這樣一來循環就永遠不會結束
while 循環的 代碼塊 子句會一直循環執行, 直到 條件表達式 值爲布爾假. 這種類型的循環機制常常用在計數循環中,這些"無限"的循環不一定是壞事, 許多通訊服務器的客戶端/服務器系統就是通過它來工作的
sum=0 i=0 while (i<100): sum+=i i+=1 print sum
執行結果爲
4950
四、For循環語句
for循環語句格式:
for 迭代變量 in range(start,end,step):
循環體
for 迭代變量 in xrange(start,end,step):
循環體
每次循環,迭代變量被設置爲可迭代對象(序列,迭代器,或者是其他支持迭代的對象)的當前元素, 提供給循環體語句塊使用
range()與xrange()區別:每當執行到range時,系統都會把range中的所有數都讀取一遍,然後再進行其他操作;當程序執行到xrange時,系統會直接找出xrange中需要的值。因此,xrange的速度要比range快,應避免使用range
print range(1,10,2) print xrange(1,10,2)
執行結果爲
[1, 3, 5, 7, 9] xrange(1, 11, 2)
for提供了 Python 中最強大的循環結構.它可以遍歷序列成員, 可以用在 列表解析 和 生成器表達式中, 它會自動地調用迭代器的next()方法, 捕獲StopIteration 異常並結束循環(所有這一切都是在內部發生的)
for 是python中最常用的循環方式之一
用for循環訪問迭代器和訪問序列的方法差不多.唯一的區別就是for語句會爲你做一些額外的事情.迭代器並不代表循環條目的集合.
迭代器對象有一個next()方法,調用後返回下一個條目.所有條目迭代完後,迭代器引發一個 StopIteration異常告訴程序循環結束.for語句在內部調用 next() 並捕獲異常.
sum=0 for i in range(100): sum+=i print sum
執行結果爲
4950
四、break、continue、pass、else語句
1.break語句
Python中的break語句可以結束當前循環然後跳轉到下條語句,類似C中的傳統break.常用在當某個外部條件被觸發(一般通過if語句檢查),需要立即從循環中退出時.break語句可以用在while和for循環中break 語句用於打斷列表的迭代.目的是爲了找到列表中的目標元素,如果找到,則把它從數據庫裏刪除然後退出循環
for i in xrange(1,100): if i%4==0: break print i
執行結果爲
1 2 3
2.continue語句
Python裏的continue語句和其他高級語言中的傳統continue並沒有什麼不同.它可以被用在 while 和for循環裏.while循環是條件性的,而for循環是迭代的, 所以 continue 在開始下一次循環前要滿足一些先決條件, 否則循環會正常結束當遇到 continue語句時,程序會終止當前循環,並忽略剩餘的語句,然後回到循環的頂端.
while條件循環語句中的continue(把自增變量寫到continue語句前)
i=1 while (i<5): i+=1 if i==3: continue print i
執行結果爲
2 4 5
while條件循環語句中的continue(把自增變量寫到continue語句後)
i=1 while (i<5): if i==3: continue print i i+=1
執行結果爲
1 2
由上可以看出,打印出1和2後,程序會陷入死循環,因此,在條件循環語句中使用continue時,應多加註意。
for條件循環語句中的continue
for i in xrange(1,5): if i==3: continue print i
執行結果爲
1 2 4
3.pass語句
Python沒有使用傳統的大括號來標記代碼塊,有些地方在語法上要求要有代碼,而Python中沒有對應的空大括號或是分號(;)來表示C語言中的"不做任何事",如果你在需要子語句塊的地方不寫任何語句,解釋器會提示語法錯誤.
Python提供了pass語句,它不做任何事情-即 NOP,(No OPeration,無操作)從彙編語言中借用這個概念
pass 同樣也可作爲開發中的小技巧, 標記你後來要完成的代碼
for i in xrange(1,5): if i%4==0: pass print i
執行結果爲
1 2 3 4
4.else語句
可以在while和for循環中使用else語句
while和for循環中使用 else 語句.它們是怎麼工作的呢? 在循環中使用時,else子句只在循環完成後執行, 也就是說break語句也會跳過else塊
for i in xrange(1,5): print i else: print '這是else語句'
執行結果爲
1 2 3 4 這是else語句
for i in xrange(1,5): if i%2==0: break print i else: print '這是else語句'
執行結果爲
1