Python中通常不應(yīng)該犯的7個(gè)錯(cuò)誤分別是哪些

本篇文章為大家展示了Python中通常不應(yīng)該犯的7個(gè)錯(cuò)誤分別是哪些,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、電商網(wǎng)站制作開發(fā)、小程序定制開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!

 介紹

Python是一門相對(duì)容易掌握的語(yǔ)言,但是由于假設(shè)了很多事情,因此犯錯(cuò)誤非常容易。 此外,這些錯(cuò)誤可能會(huì)在很長(zhǎng)一段時(shí)間內(nèi)被忽略。  在我其他前四個(gè)菜鳥Python錯(cuò)誤之前。

避免這些新手Python錯(cuò)誤

他們可能會(huì)工作,但可能會(huì)更好。

今天,我將分享更多在Python 3.8中容易犯的錯(cuò)誤。

№1:+ =

在許多情況下,我當(dāng)然會(huì)犯的一個(gè)錯(cuò)誤是獲取+ =操作數(shù)。 假設(shè)必須用兩個(gè)獨(dú)立的操作數(shù)來(lái)完成加法似乎太容易了,一個(gè)用于加法,另一個(gè)用于斷言。  幸運(yùn)的是,Python(以及許多其他編程語(yǔ)言)支持可以同時(shí)執(zhí)行數(shù)學(xué)運(yùn)算和斷言運(yùn)算的操作數(shù)。

代替:

x = x + 5

做:

x += 5

№2:位置自變量符號(hào)

在大多數(shù)現(xiàn)代腳本語(yǔ)言中,可以將兩種主要類型的參數(shù)用作函數(shù)的參數(shù):

位置和關(guān)鍵詞。

在python 3.8發(fā)行之前,還沒有辦法表示位置參數(shù),這使得位置參數(shù)默認(rèn)值基本上是不可能的。 但是,由于更改是在Python  3.8中對(duì)此進(jìn)行了更新,因此我們可以使用。 您應(yīng)該使用它們,因?yàn)槲恢脜?shù)是具有出色性能的優(yōu)質(zhì)Python代碼的基礎(chǔ)。  如果您的代碼需要用Python補(bǔ)償?shù)囊患?,尤其是在機(jī)器學(xué)習(xí)時(shí),那可能就是性能。

關(guān)鍵字參數(shù)在函數(shù)定義時(shí)評(píng)估一次。 這可能特別不利于遞歸算法的性能。 而且,如果您要編寫成本函數(shù),則絕對(duì)必須使用位置參數(shù)。  這并不是說根本不應(yīng)該使用它們,但是,只要有可能,最好使用位置參數(shù)。

代替:

def numbers(custom, five=5,ten=10,fifteen=15):  total = five + ten + fifteen + custom  return(total)

做:

def numbers(custom,\,five=5,ten=10,fifteen=15):  total = five + ten + fifteen + custom  return(total)

同樣重要的是要記住,此功能是相當(dāng)新的,因此僅使用位置參數(shù)以提高性能的概念將僅限于Python 3.8+

№3:初始化返回

盡管這當(dāng)然并不常見,并且可能是一個(gè)相當(dāng)大的菜鳥動(dòng)作,但我已經(jīng)看到人們嘗試在其初始化函數(shù)中執(zhí)行返回。  在Python的面向?qū)ο蟮氖澜缰校看螌?shí)例化類時(shí)都會(huì)調(diào)用__init__函數(shù)。 初始化函數(shù)對(duì)于設(shè)置變量,移動(dòng)數(shù)據(jù)和構(gòu)造類型而言非常有用。  功能強(qiáng)大,責(zé)任重大,Python的__init__函數(shù)應(yīng)用于類初始化,而不是監(jiān)視,不循環(huán),不直接執(zhí)行,僅用于類初始化。 并請(qǐng)(我有經(jīng)驗(yàn)的人正在這樣做!)

不要返回init!

(這沒有任何意義!)

Python中通常不應(yīng)該犯的7個(gè)錯(cuò)誤分別是哪些

№4:循環(huán)依賴

當(dāng)編寫一個(gè)大型Python程序包時(shí),每個(gè)程序段都可以實(shí)現(xiàn)相似的目標(biāo),通常,您的程序包將彼此依賴。  這可能會(huì)帶來(lái)很大的問題,并可能導(dǎo)致一些被稱為"循環(huán)依賴項(xiàng)"的事情。 發(fā)生這種情況時(shí),當(dāng)模塊周圍的不同位置嘗試相互訪問時(shí),您可能會(huì)遇到問題。

№5:空格還是縮進(jìn)?

如您所知,Python使用縮進(jìn)而不是定界符將代碼包含在其他代碼中。 對(duì)于許多人來(lái)說,這使代碼更易于閱讀和編寫,盡管主觀上我個(gè)人鄙視它。  但是,在其他語(yǔ)言中,我通常傾向于使用縮進(jìn)(Tab鍵)來(lái)縮進(jìn)代碼。但是,根據(jù)PEP8,應(yīng)該為縮進(jìn)使用四個(gè)空格。  老實(shí)說,這是我只有在與很多人一起進(jìn)行項(xiàng)目時(shí)才遵循的原則。 對(duì)我而言,只要保持一致,我就不會(huì)將空格或縮進(jìn)視為重要的事情,但從正式意義上講,您應(yīng)該使用空格。  話雖如此,在編寫用于某項(xiàng)工作的實(shí)際代碼或需要許多其他用戶遵守的大型項(xiàng)目時(shí),遵循PEP8的標(biāo)準(zhǔn)可能是一個(gè)好主意。

№6:塊迭代

當(dāng)執(zhí)行迭代的for循環(huán)時(shí),編寫全長(zhǎng)的for循環(huán)可以很容易地在代碼中表達(dá)您的想法。 但是,通常,如果您需要執(zhí)行的操作僅占用一行,則最好循環(huán)一行。  這不僅會(huì)使您的代碼更漂亮,更簡(jiǎn)潔,而且還可以提高性能。

代替:

for i in x:  i += 5

做:

[i + 5 for i in x]

№7:實(shí)習(xí)弦

對(duì)于最后一個(gè)要考慮的錯(cuò)誤,我想談?wù)剬?shí)習(xí)琴弦。 在某些情況下,Python會(huì)嘗試重用不可變的對(duì)象,而字符串實(shí)習(xí)就是這種實(shí)際作用的一種情況。  所有長(zhǎng)度為1的字符串都被屏蔽。 字符串中除ASCII字符,數(shù)字和下劃線外沒有其他任何內(nèi)容。

Python中通常不應(yīng)該犯的7個(gè)錯(cuò)誤分別是哪些

在這里,我嘗試創(chuàng)建兩個(gè)不同的對(duì)象a和b,但這不是Python所做的。 Python實(shí)際上是b指向a的指針,而不是產(chǎn)生新的字符串。  但是,如果我們添加ASCII字符:

Python中通常不應(yīng)該犯的7個(gè)錯(cuò)誤分別是哪些

因此,在使用不可變字符串時(shí)請(qǐng)牢記這一點(diǎn),因?yàn)樗鼰o(wú)疑給我?guī)?lái)了很多麻煩。

上述內(nèi)容就是Python中通常不應(yīng)該犯的7個(gè)錯(cuò)誤分別是哪些,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享名稱:Python中通常不應(yīng)該犯的7個(gè)錯(cuò)誤分別是哪些
標(biāo)題URL:http://muchs.cn/article24/iehcce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、搜索引擎優(yōu)化標(biāo)簽優(yōu)化、手機(jī)網(wǎng)站建設(shè)、商城網(wǎng)站、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)