五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

Python中for后接else的語法使用

發(fā)布日期:2022-07-12 14:17 | 文章來源:gibhub

0、背景

今天看到了一個(gè)比較詭異的寫法,for后直接跟了else語句,起初還以為是沒有縮進(jìn)好,查詢后發(fā)現(xiàn)果然有這種語法,特此分享。之前寫過c++和Java,在for后接else還是第一次見。

1、試驗(yàn)

# eg1
import numpy as np
for i in np.arange(5):
 print i
else:
 print("hello?")
# 0
# 1
# 2
# 3
# 4
# hello?

可以發(fā)現(xiàn),在for正常結(jié)束后,break中的語句進(jìn)行了執(zhí)行。

# eg2
import numpy as np
for i in np.arange(5):
 print i
 if (i == 3):
  break
else:
 print("hello?")
# 0
# 1
# 2
# 3

在這個(gè)例子當(dāng)中,i==3的時(shí)候break出了循環(huán),然后else當(dāng)中的語句就沒有執(zhí)行。

2、總結(jié)

總結(jié)起來比較簡單,如果for循環(huán)正常結(jié)束,else中語句執(zhí)行。如果是break的,則不執(zhí)行。

工程性代碼寫的比較少,暫時(shí)沒有想到很好的場景,為了不對其他同學(xué)造成干擾,這種形式還是少些一點(diǎn)較好。

官方文檔也有解釋:

When the items are exhausted (which is immediately when the sequence is empty), the suite in the else clause, if present, is executed, and the loop terminates.

A break statement executed in the first suite terminates the loop without executing the else clause's suite. A continue statement executed in the first suite skips the rest of the suite and continues with the next item, or with the else clause if there was no next item.

https://docs.python.org/2/reference/compound_stmts.html#the-for-statement

補(bǔ)充:python里for和else的搭配

用找質(zhì)數(shù)作為代碼示例

for i in range(2,10):
 for n in range(2,i):
  if i % n == 0:
#print(i, '=', n, '*', i//n)
break
 else:
  print('found it %s' %i)

注意:這里的 else 并不屬于 if 代碼塊

根據(jù)官方文檔的解釋理解的意思:當(dāng)?shù)膶ο蟮瓴榭諘r(shí),位于else的語句將會(huì)執(zhí)行,而如果在for循環(huán)里有break時(shí),則會(huì)直接終止循環(huán),并不會(huì)執(zhí)行else里的代碼

寫一個(gè)簡單例子,用來輔助理解

for i in range(10):
 if i == 7:
  print('found it %s'%i)
  break
else:
 print('not found')

可以先運(yùn)行代碼,看一下運(yùn)行結(jié)果,然后將代碼塊里的break注釋掉再運(yùn)行一遍,與第一次運(yùn)行的結(jié)果進(jìn)行比較,就會(huì)發(fā)現(xiàn)不同

補(bǔ)充:python中for—else的用法,執(zhí)行完for執(zhí)行else

結(jié)束for循環(huán)后執(zhí)行else

for i in range(5):
  print(i)
else:
 print("打印else")

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持本站。

海外服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部