Effective Python 讀書筆記: 第12條: 不要在for和while循環後面寫else塊

# -*- encoding: utf-8 -*-

import os

'''
第12條: 不要在for和while循環後面寫else塊

關鍵:
1 else
含義: 如果不執行前面那個if塊,就執行else塊
try/except/else :如果try塊沒有失敗,就執行else
try/finally: 如果try塊執行過,就執行finally塊

2 不應該在循環後面使用else塊
會導致代碼難以理解

3 總結:
只有整個循環主體都沒有遇到break語句,循環後面的else塊纔會執行
樣例如下:
def isPrime(a, b):
    for i in range(2, min(a, b) + 1):
        if a % i == 0 and b % i == 0:
            print "not coprime"
    else:
        print "coprime"

參考:
Effectiv Python 編寫高質量Python代碼的59個有效方法

'''
def isPrime(a, b):
    for i in range(2, min(a, b) + 1):
        if a % i == 0 and b % i == 0:
            print "not coprime"
    else:
        print "coprime"


def process():
    a = 4
    b = 9
    isPrime(a, b)


if __name__ == "__main__":
    process() 

 

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