python,中使用while...else 和 for...else 還有try...else,另外就是運用with關鍵字

來源:互聯網
上載者:User

標籤:並且   traceback   div   most   reference   錯誤   color   介紹   day   

  其他語言中else只可以和if進行組合,也就是我們常見的if...else,但是python為else賦予了新的聲明。它可以和while 、for 、try一起串聯使用。

  下面我們介紹和while串聯使用時的效果。

count=0while count>12:    if (11>0):        print("成立")        break    count+=1else:    print(‘不成立‘) #當while條件不成立,直接跳到該處輸出

  for 迴圈和while用法一樣的

def forelse():    c = [1,2]    for i in c:        print(i)    else:        print("輸出") #當for迴圈結束會輸出該語句

  try 的用法

def tryelse():    try:        sum = 1+1    except TypeError as reason:        print("報錯")    else:        print("到我這裡了") #當try塊中的語句正常執行完畢會執行該方法。

  with ...:用法

# 第一種寫法def withas():    try:        f = open("文字.txt")        print(f.read())        f.close()    except OSError as reason:        print("讀取錯誤")    else:        print("完成")# 第二種寫法 with,一定不要忘記  : 哦def withas2():    try:        with open("文字.txt") as f:            print(f.read())            f.close()    except OSError as reason:        print("讀取錯誤")    else:        print("完成")

  為什麼會用到with,是因為有的時候我們可能在使用open(file)開啟一個檔案的時候,可能這個檔案並不存在,那麼這個時候就會報錯,而我們可能會將這種方法卸載一個try except finally這樣的語句裡,並且在finally裡邊可能添加了f.close()這樣的語句,但是我們這個時候並沒有開啟一個f的檔案,因為這個檔案並不存在,所以沒有必要關閉這個檔案。這時候我們就用到了with。

  錯誤碼展示:

def withas1():    try:        f = open("文字1.txt") #該檔案不存在哦        print(f.read())     except OSError as reason:        print("讀取錯誤")    finally:        f.close() #--------------錯誤輸出讀取錯誤Traceback (most recent call last):  File "E:/python/day-2/whileelse.py", line 46, in <module>    withas1()  File "E:/python/day-2/whileelse.py", line 44, in withas1    f.close()UnboundLocalError: local variable ‘f‘ referenced before assignment>>> 

  從錯誤輸出我們就可以看到,報的錯誤是局部變數錯誤,說的就是f並不存在,也就是沒有開啟這個檔案。

 

python,中使用while...else 和 for...else 還有try...else,另外就是運用with關鍵字

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.