Python學習筆記2—Python語句(順序、選擇、循環)

一、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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章