作者:小K
來源:麥叔編程
各位看官,大家好。
我是K乙己,今天我要跟大家說說else的四種寫法,希望大家喜歡。
第一種寫法,與if搭配
name = input("請輸入名字: ")
if name == "K乙己":
print("我喜歡吃茴香豆!")
else:
print("我愛學Python!")
這種寫法估計學過2個小時的Python都知道這種用法,也是平時else最常見的用法。
這裡的else沒啥好研究的,就是一個條件判斷語句,True是啥,False又是啥啥啥。
第二種寫法,與for搭配沒想到了吧,else還能與循環語句的for合用。上代碼:
for n in range(1,101):
if n == 0:
print(n)
else:
print("我愛學python!")
執行之後:
15
30
45
60
75
90
我愛學python!
else語句在for語句結束後執行了。
嗨,反正都要執行到的,沒必要再寫個else語句。
剛開始我也是這麼認為的,但是我試了以下代碼之後:
for n in range(1,101):
if n == 0:
print('進入break')
break
else:
print("我愛學python!")
輸出結果:
進入break
由此,得出結論:
❝
for與else結合的語句,隻有當for循環完整的執行完,才會執行else裡的語句。
如果中間有break跳出循環,則else裡的語句不執行。
❞
第三種寫法,與while搭配上面我們試了下,else在for循環中的用法,那麼else是否也能與while組合進行使用呢?一起證實下:
n = 0 while n < 100: n =1 print(n) else: print("我愛學python!")
輸出結果:
1 2 3 ... 100 我愛學python!
上面的執行輸出好像和for...else...用法一樣,循環執行完畢會執行else裡的語句。
用代碼驗證猜想:
n = 0 while n < 100: n =1 print(n) if n > 10: break else: print("我愛學python!")
輸出結果:
1 2 3 ... 11
猜想成果被驗證,結論同for...else...用法。
第四種寫法,try...except...else...這種寫法,在麥叔python每天三分鐘#090篇中出現過。
some_Exceptions = [ValueError, TypeError, IndexError, None] for choice in some_exceptions: try: print(f"抛出 {choice}") if choice: raise choice("出異常啦!") else: print("順利完成,沒有異常") except ValueError: print("有一個ValueError") except TypeError: print("有一個TypeError") except Exception as e: print(f"最後捕獲其他異常: {e.__class__.__name__}") else: print("else裡面的代碼隻有在沒有異常的時候才執行!") finally: print("finally裡的代碼不管有沒有異常都執行!")
有興趣的小夥伴可以回顧下#090篇。這裡我用我的代碼簡單說明下:
try: a = 4 b = 4 c = a / b except Exception as e: print(e) else: print("我愛學python!")
當try裡語句能正常執行完(沒處理異常)的情況下,else裡的語句會被執行。
輸出結果:
"我愛學python!"
但是如果,try裡語句執行的過程報了異常,那麼else裡的語句就不會被執行。
try: a = 4 b = 0 c = a / b except Exception as e: print(e) else: print("我愛學python!")
輸出結果:
,
division by zero
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!