国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全25

這篇具有很好參考價(jià)值的文章主要介紹了關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全25。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

10.3.4 else 代碼塊、

10.3.5 處理 FileNotFoundError 異常

alice.py

在這個(gè)示例中,try代碼塊引發(fā)FileNotFoundError異常,因此Python找出與該錯(cuò)誤匹配的 except代碼塊,并運(yùn)行其中的代碼。最終的結(jié)果是顯示一條友好的錯(cuò)誤消息,而不是traceback:

10.3.6 分析文本

10.3.7 使用多個(gè)文件

word_count.py

10.3.8 失敗時(shí)一聲不吭

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全24-CSDN博客

往期快速傳送門??(在文章最后):

感謝大家的支持!歡迎訂閱收藏!專欄將持續(xù)更新!


關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全25,掌握Python分類專欄:開(kāi)啟智能數(shù)據(jù)處理之旅!,python,python,開(kāi)發(fā)語(yǔ)言,前端,筆記

10.3.4 else 代碼塊、

通過(guò)將可能引發(fā)錯(cuò)誤的代碼放在try-except代碼塊中,可提高這個(gè)程序抵御錯(cuò)誤的能力。錯(cuò) 誤是執(zhí)行除法運(yùn)算的代碼行導(dǎo)致的,因此我們需要將它放到try-except代碼塊中。這個(gè)示例還包 含一個(gè)else代碼塊;依賴于try代碼塊成功執(zhí)行的代碼都應(yīng)放到else代碼塊中:

print("Give me two numbers, and I'll divide them.")
print("Enter 'q' to quit.")
while True:
 first_number = input("\nFirst number: ")
 if first_number == 'q':
 break
 second_number = input("Second number: ")
1 try:
 answer = int(first_number) / int(second_number)
2 except ZeroDivisionError:
 print("You can't divide by 0!")
3 else:
 print(answer)

我們讓Python嘗試執(zhí)行try代碼塊中的除法運(yùn)算(見(jiàn)1),這個(gè)代碼塊只包含可能導(dǎo)致錯(cuò)誤的 代碼。依賴于try代碼塊成功執(zhí)行的代碼都放在else代碼塊中;在這個(gè)示例中,如果除法運(yùn)算成 功,我們就使用else代碼塊來(lái)打印結(jié)果(見(jiàn)2)。 except代碼塊告訴Python,出現(xiàn)ZeroDivisionError異常時(shí)該怎么辦(見(jiàn)3)。如果try代碼塊因除零錯(cuò)誤而失敗,我們就打印一條友好的消息,告訴用戶如何避免這種錯(cuò)誤。程序?qū)⒗^續(xù)運(yùn)行, 用戶根本看不到traceback:

Give me two numbers, and I'll divide them.
Enter 'q' to quit.
First number: 5
Second number: 0
You can't divide by 0!
First number: 5
Second number: 2
2.5
First number: q

try-except-else代碼塊的工作原理大致如下:Python嘗試執(zhí)行try代碼塊中的代碼;只有可 能引發(fā)異常的代碼才需要放在try語(yǔ)句中。有時(shí)候,有一些僅在try代碼塊成功執(zhí)行時(shí)才需要運(yùn)行 的代碼;這些代碼應(yīng)放在else代碼塊中。except代碼塊告訴Python,如果它嘗試運(yùn)行try代碼塊中 的代碼時(shí)引發(fā)了指定的異常,該怎么辦。 通過(guò)預(yù)測(cè)可能發(fā)生錯(cuò)誤的代碼,可編寫健壯的程序,它們即便面臨無(wú)效數(shù)據(jù)或缺少資源,也 能繼續(xù)運(yùn)行,從而能夠抵御無(wú)意的用戶錯(cuò)誤和惡意的攻擊。

10.3.5 處理 FileNotFoundError 異常

使用文件時(shí),一種常見(jiàn)的問(wèn)題是找不到文件:你要查找的文件可能在其他地方、文件名可能 不正確或者這個(gè)文件根本就不存在。對(duì)于所有這些情形,都可使用try-except代碼塊以直觀的方 式進(jìn)行處理。

我們來(lái)嘗試讀取一個(gè)不存在的文件。下面的程序嘗試讀取文件alice.txt的內(nèi)容,但我沒(méi)有將 這個(gè)文件存儲(chǔ)在alice.py所在的目錄中:

alice.py
filename = 'alice.txt'
with open(filename) as f_obj:
 contents = f_obj.read() 

Python無(wú)法讀取不存在的文件,因此它引發(fā)一個(gè)異常:

Traceback (most recent call last):
 File "alice.py", line 3, in <module>
 with open(filename) as f_obj:
FileNotFoundError: [Errno 2] No such file or directory: 'alice.txt' 

在上述traceback中,最后一行報(bào)告了FileNotFoundError異常,這是Python找不到要打開(kāi)的文件時(shí)創(chuàng)建的異常。在這個(gè)示例中,這個(gè)錯(cuò)誤是函數(shù)open()導(dǎo)致的,因此要處理這個(gè)錯(cuò)誤,必須將 try語(yǔ)句放在包含open()的代碼行之前:

filename = 'alice.txt'
try:
 with open(filename) as f_obj:
 contents = f_obj.read()
except FileNotFoundError:
 msg = "Sorry, the file " + filename + " does not exist."
 print(msg) 
在這個(gè)示例中,try代碼塊引發(fā)FileNotFoundError異常,因此Python找出與該錯(cuò)誤匹配的 except代碼塊,并運(yùn)行其中的代碼。最終的結(jié)果是顯示一條友好的錯(cuò)誤消息,而不是traceback:
Sorry, the file alice.txt does not exist. 

如果文件不存在,這個(gè)程序什么都不做,因此錯(cuò)誤處理代碼的意義不大。下面來(lái)擴(kuò)展這個(gè)示 例,看看在你使用多個(gè)文件時(shí),異常處理可提供什么樣的幫助。

10.3.6 分析文本

你可以分析包含整本書的文本文件。很多經(jīng)典文學(xué)作品都是以簡(jiǎn)單文本文件的方式提供的, 因?yàn)樗鼈儾皇馨鏅?quán)限制。本節(jié)使用的文本來(lái)自項(xiàng)目Gutenberg(http://gutenberg.org/),這個(gè)項(xiàng)目提 供了一系列不受版權(quán)限制的文學(xué)作品,如果你要在編程項(xiàng)目中使用文學(xué)文本,這是一個(gè)很不錯(cuò)的 資源。

下面來(lái)提取童話Alice in Wonderland的文本,并嘗試計(jì)算它包含多少個(gè)單詞。我們將使用方 法split(),它根據(jù)一個(gè)字符串創(chuàng)建一個(gè)單詞列表。下面是對(duì)只包含童話名"Alice in Wonderland" 的字符串調(diào)用方法split()的結(jié)果:

>>> title = "Alice in Wonderland"
>>> title.split()
['Alice', 'in', 'Wonderland']

方法split()以空格為分隔符將字符串分拆成多個(gè)部分,并將這些部分都存儲(chǔ)到一個(gè)列表中。 結(jié)果是一個(gè)包含字符串中所有單詞的列表,雖然有些單詞可能包含標(biāo)點(diǎn)。為計(jì)算Alice in Wonderland包含多少個(gè)單詞,我們將對(duì)整篇小說(shuō)調(diào)用split(),再計(jì)算得到的列表包含多少個(gè)元 素,從而確定整篇童話大致包含多少個(gè)單詞:

filename = 'alice.txt'
try:
 with open(filename) as f_obj:
 contents = f_obj.read()
except FileNotFoundError: 
msg = "Sorry, the file " + filename + " does not exist."
 print(msg)
else:
 # 計(jì)算文件大致包含多少個(gè)單詞
1 words = contents.split()
2 num_words = len(words)
3 print("The file " + filename + " has about " + str(num_words) + " words.")

我們把文件alice.txt移到了正確的目錄中,讓try代碼塊能夠成功地執(zhí)行。在?處,我們對(duì)變 量contents(它現(xiàn)在是一個(gè)長(zhǎng)長(zhǎng)的字符串,包含童話Alice in Wonderland的全部文本)調(diào)用方法 split(),以生成一個(gè)列表,其中包含這部童話中的所有單詞。當(dāng)我們使用len()來(lái)確定這個(gè)列表 的長(zhǎng)度時(shí),就知道了原始字符串大致包含多少個(gè)單詞(見(jiàn)?)。在?處,我們打印一條消息,指 出文件包含多少個(gè)單詞。這些代碼都放在else代碼塊中,因?yàn)閮H當(dāng)try代碼塊成功執(zhí)行時(shí)才執(zhí)行 它們。輸出指出了文件alice.txt包含多少個(gè)單詞:

The file alice.txt has about 29461 words. 

這個(gè)數(shù)字有點(diǎn)大,因?yàn)檫@里使用的文本文件包含出版商提供的額外信息,但與童話Alice in Wonderland的長(zhǎng)度相當(dāng)一致。

10.3.7 使用多個(gè)文件

下面多分析幾本書。這樣做之前,我們先將這個(gè)程序的大部分代碼移到一個(gè)名為 count_words()的函數(shù)中,這樣對(duì)多本書進(jìn)行分析時(shí)將更容易:

word_count.py
def count_words(filename):
1 """計(jì)算一個(gè)文件大致包含多少個(gè)單詞"""
try:
 with open(filename) as f_obj:
 contents = f_obj.read()
 except FileNotFoundError:
 msg = "Sorry, the file " + filename + " does not exist."
 print(msg)
 else:
 # 計(jì)算文件大致包含多少個(gè)單詞
 words = contents.split()
 num_words = len(words)
 print("The file " + filename + " has about " + str(num_words) +
 " words.")
filename = 'alice.txt'
count_words(filename) 

這些代碼大都與原來(lái)一樣,我們只是將它們移到了函數(shù)count_words()中,并增加了縮進(jìn)量。 修改程序的同時(shí)更新注釋是個(gè)不錯(cuò)的習(xí)慣,因此我們將注釋改成了文檔字符串,并稍微調(diào)整了一下措辭(見(jiàn)1)。

現(xiàn)在可以編寫一個(gè)簡(jiǎn)單的循環(huán),計(jì)算要分析的任何文本包含多少個(gè)單詞了。為此,我們將要 分析的文件的名稱存儲(chǔ)在一個(gè)列表中,然后對(duì)列表中的每個(gè)文件都調(diào)用count_words()。我們將 嘗試計(jì)算Alice in Wonderland、Siddhartha、Moby Dick和Little Women分別包含多少個(gè)單詞,它們 都不受版權(quán)限制。我故意沒(méi)有將siddhartha.txt放到word_count.py所在的目錄中,讓你能夠看到這 個(gè)程序在文件不存在時(shí)處理得有多出色:

def count_words(filename):
 --snip--
filenames = ['alice.txt', 'siddhartha.txt', 'moby_dick.txt', 'little_women.txt']
for filename in filenames:
 count_words(filename) 

文件siddhartha.txt不存在,但這絲毫不影響這個(gè)程序處理其他文件:

The file alice.txt has about 29461 words.
Sorry, the file siddhartha.txt does not exist.
The file moby_dick.txt has about 215136 words.
The file little_women.txt has about 189079 words. 

在這個(gè)示例中,使用try-except代碼塊提供了兩個(gè)重要的優(yōu)點(diǎn):避免讓用戶看到traceback; 讓程序能夠繼續(xù)分析能夠找到的其他文件。如果不捕獲因找不到siddhartha.txt而引發(fā)的 FileNotFoundError異常,用戶將看到完整的traceback,而程序?qū)⒃趪L試分析Siddhartha后停止運(yùn) 行——根本不分析Moby Dick和Little Women。

10.3.8 失敗時(shí)一聲不吭

在前一個(gè)示例中,我們告訴用戶有一個(gè)文件找不到。但并非每次捕獲到異常時(shí)都需要告訴用 戶,有時(shí)候你希望程序在發(fā)生異常時(shí)一聲不吭,就像什么都沒(méi)有發(fā)生一樣繼續(xù)運(yùn)行。要讓程序在 失敗時(shí)一聲不吭,可像通常那樣編寫try代碼塊,但在except代碼塊中明確地告訴Python什么都不 要做。Python有一個(gè)pass語(yǔ)句,可在代碼塊中使用它來(lái)讓Python什么都不要做:

def count_words(filename):
 """計(jì)算一個(gè)文件大致包含多少個(gè)單詞"""
 try:
 --snip--
 except FileNotFoundError:
1 pass
 else:
 --snip--
filenames = ['alice.txt', 'siddhartha.txt', 'moby_dick.txt', 'little_women.txt']
for filename in filenames:
 count_words(filename)

相比于前一個(gè)程序,這個(gè)程序唯一不同的地方是 ? 處 的 pass 語(yǔ)句?,F(xiàn)在,出現(xiàn) FileNotFoundError異常時(shí),將執(zhí)行except代碼塊中的代碼,但什么都不會(huì)發(fā)生。這種錯(cuò)誤發(fā)生時(shí), 不會(huì)出現(xiàn)traceback,也沒(méi)有任何輸出。用戶將看到存在的每個(gè)文件包含多少個(gè)單詞,但沒(méi)有任何 跡象表明有一個(gè)文件未找到:

The file alice.txt has about 29461 words.
The file moby_dick.txt has about 215136 words.
The file little_women.txt has about 189079 words.

pass語(yǔ)句還充當(dāng)了占位符,它提醒你在程序的某個(gè)地方什么都沒(méi)有做,并且以后也許要在這 里做些什么。例如,在這個(gè)程序中,我們可能決定將找不到的文件的名稱寫入到文件 missing_files.txt中。用戶看不到這個(gè)文件,但我們可以讀取這個(gè)文件,進(jìn)而處理所有文件找不到 的問(wèn)題。

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全24-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全23-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全22-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全21-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全20-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全19-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全18-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全17-CSDN博客

Python:核心知識(shí)點(diǎn)整理大全16-筆記-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全15-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全14-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全13-CSDN博客

關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全12-CSDN博客文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-760227.html

往期快速傳送門??(在文章最后):

感謝大家的支持!歡迎訂閱收藏!專欄將持續(xù)更新!

到了這里,關(guān)于關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全25的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全56

    關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全56

    ? 目錄 6. 鏈接到頁(yè)面new_topic topics.html 19.1.2 添加新條目 1. 用于添加新條目的表單 forms.py 2. URL模式new_entry urls.py 3. 視圖函數(shù)new_entry() views.py 4. 模板new_entry new_entry.html 5. 鏈接到頁(yè)面new_entry topic.html 19.1.3 編輯條目 1. URL模式edit_entry urls.py 2. 視圖函數(shù)edit_entry() views.py 往期快速傳送門

    2024年01月24日
    瀏覽(19)
  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全5

    目錄 2. 使用方法pop()刪除元素 3. 彈出列表中任何位置處的元素 4. 根據(jù)值刪除元素 3 章 列表簡(jiǎn)介 3.3 組織列表 3.3.1 使用方法 sort()對(duì)列表進(jìn)行永久性排序 3.3.2 使用函數(shù) sorted()對(duì)列表進(jìn)行臨時(shí)排序 3.3.3 倒著打印列表 3.3.4 確定列表的長(zhǎng)度 3.5 小結(jié) 有時(shí)候,你要將元素從列表中刪除

    2024年02月05日
    瀏覽(21)
  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全9

    關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全9

    目錄 ?編輯 5.2.4 比較數(shù)字 5.2.5 檢查多個(gè)條件 1. 使用and檢查多個(gè)條件 2. 使用or檢查多個(gè)條件 5.2.6 檢查特定值是否包含在列表中 5.2.7 檢查特定值是否不包含在列表中 banned_users.py 5.2.8 布爾表達(dá)式 5.3 if 語(yǔ)句 5.3.1 簡(jiǎn)單的 if 語(yǔ)句 5.3.2 if-else 語(yǔ)句 5.3.3 if-elif-else 結(jié)構(gòu) 5.3.4 使用多個(gè)

    2024年02月05日
    瀏覽(27)
  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全63

    關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全63

    目錄 20.2.11 使用 Git 跟蹤項(xiàng)目文件 1. 安裝Git 2. 配置Git 3. 忽略文件 .gitignore 注意 4. 提交項(xiàng)目 20.2.12 推送到 Heroku 注意 20.2.13 在 Heroku 上建立數(shù)據(jù)庫(kù) 20.2.14 改進(jìn) Heroku 部署 1. 在Heroku上創(chuàng)建超級(jí)用戶 注意 注意 如果你閱讀完了第17章,就知道Git是一個(gè)版本控制程序,讓你能夠在每次

    2024年01月25日
    瀏覽(26)
  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全64

    關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全64

    目錄 20.2.15 確保項(xiàng)目的安全 settings.py 20.2.16 提交并推送修改 20.2.17 創(chuàng)建自定義錯(cuò)誤頁(yè)面 1. 創(chuàng)建自定義模板 500.html settings.py settings.py 注意 views.py 20.2.18 繼續(xù)開(kāi)發(fā) 往期快速傳送門??(在文章最后): 感謝大家的支持!歡迎訂閱收藏!專欄將持續(xù)更新! 當(dāng)前,我們部署的項(xiàng)目存

    2024年02月03日
    瀏覽(35)
  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全23

    關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全23

    目錄 ?編輯 第10 章 文件和異常 10.1 從文件中讀取數(shù)據(jù) 10.1.1 讀取整個(gè)文件 pi_digits.txt file_reader.py 10.1.2 文件路徑 10.1.3 逐行讀取 file_reader.py 10.1.4 創(chuàng)建一個(gè)包含文件各行內(nèi)容的列表 10.1.5 使用文件的內(nèi)容 pi_string.py 往期快速傳送門??(在文章最后): 感謝大家的支持!歡迎訂

    2024年02月03日
    瀏覽(17)
  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全45

    關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全45

    目錄 15.4.6 繪制直方圖 die_visual.py 注意 15.4.7 同時(shí)擲兩個(gè)骰子 dice_visual.py 15.4.8 同時(shí)擲兩個(gè)面數(shù)不同的骰子 different_dice.py 15.5 小結(jié) 第 16 章 16.1 CSV 文件格式 16.1.1 分析 CSV 文件頭 highs_lows.py 注意 16.1.2 打印文件頭及其位置 highs_lows.py 往期快速傳送門??(在文章最后): 感謝大家

    2024年02月04日
    瀏覽(16)
  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全57

    關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全57

    目錄 3. 模板e(cuò)dit_entry edit_entry.html 4. 鏈接到頁(yè)面edit_entry topic.html 19.2 創(chuàng)建用戶賬戶 19.2.1 應(yīng)用程序 users 1. 將應(yīng)用程序users添加到settings.py中 settings.py 2. 包含應(yīng)用程序users的URL urls.py 19.2.2 登錄頁(yè)面 urls.py 1. 模板login.html login.html 2. 鏈接到登錄頁(yè)面 base.html 3. 使用登錄頁(yè)面 往期快速傳

    2024年01月24日
    瀏覽(27)
  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全39

    關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全39

    目錄 ?編輯 14.1.5 將 Play 按鈕切換到非活動(dòng)狀態(tài) game_functions.py 14.1.6 隱藏光標(biāo) game_functions.py game_functions.py 14.2 提高等級(jí) 14.2.1 修改速度設(shè)置 settings.py settings.py settings.py game_functions.py 14.2.2 重置速度 game_functions.py 14.3 記分 game_stats.py 14.3.1 顯示得分 scoreboard.py scoreboard.py scoreboard.p

    2024年02月04日
    瀏覽(38)
  • 關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全37

    關(guān)于“Python”的核心知識(shí)點(diǎn)整理大全37

    目錄 13.6.2 響應(yīng)外星人和飛船碰撞 game_stats.py settings.py alien_invasion.py game_functions.py ship.py 注意 13.6.3 有外星人到達(dá)屏幕底端 game_functions.py 13.6.4 游戲結(jié)束 game_stats.py game_functions.py 13.7 確定應(yīng)運(yùn)行游戲的哪些部分 alien_invasion.py 13.8 小結(jié) 第14 章 記 分 14.1 添加 Play 按鈕 game_stats.py 往

    2024年02月04日
    瀏覽(31)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包