成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python中通常不應該犯的7個錯誤

開發 后端
Python是一門相對容易掌握的語言,但是由于假設了很多事情,因此犯錯誤非常容易。 此外,這些錯誤可能會在很長一段時間內被忽略。 在我其他前四個菜鳥Python錯誤之前。

 介紹

Python是一門相對容易掌握的語言,但是由于假設了很多事情,因此犯錯誤非常容易。 此外,這些錯誤可能會在很長一段時間內被忽略。 在我其他前四個菜鳥Python錯誤之前。

[[324851]]

避免這些新手Python錯誤

他們可能會工作,但可能會更好。

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

№1:+ =

在許多情況下,我當然會犯的一個錯誤是獲取+ =操作數。 假設必須用兩個獨立的操作數來完成加法似乎太容易了,一個用于加法,另一個用于斷言。 幸運的是,Python(以及許多其他編程語言)支持可以同時執行數學運算和斷言運算的操作數。

代替:

x = x + 5

做:

x += 5

№2:位置自變量符號

在大多數現代腳本語言中,可以將兩種主要類型的參數用作函數的參數:

位置和關鍵詞。

在python 3.8發行之前,還沒有辦法表示位置參數,這使得位置參數默認值基本上是不可能的。 但是,由于更改是在Python 3.8中對此進行了更新,因此我們可以使用。 您應該使用它們,因為位置參數是具有出色性能的優質Python代碼的基礎。 如果您的代碼需要用Python補償的一件事,尤其是在機器學習時,那可能就是性能。

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

代替:

 

  1. def numbers(custom, five=5,ten=10,fifteen=15): 
  2.  
  3. total = five + ten + fifteen + custom 
  4.  
  5. return(total) 

 

做:

 

  1. def numbers(custom,\,five=5,ten=10,fifteen=15): 
  2.  
  3. total = five + ten + fifteen + custom 
  4.  
  5. return(total) 

 

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

№3:初始化返回

盡管這當然并不常見,并且可能是一個相當大的菜鳥動作,但我已經看到人們嘗試在其初始化函數中執行返回。 在Python的面向對象的世界中,每次實例化類時都會調用__init__函數。 初始化函數對于設置變量,移動數據和構造類型而言非常有用。 功能強大,責任重大,Python的__init__函數應用于類初始化,而不是監視,不循環,不直接執行,僅用于類初始化。 并請(我有經驗的人正在這樣做!)

不要返回init!

(這沒有任何意義!)

 

Python中通常不應該犯的7個錯誤

 

№4:循環依賴

當編寫一個大型Python程序包時,每個程序段都可以實現相似的目標,通常,您的程序包將彼此依賴。 這可能會帶來很大的問題,并可能導致一些被稱為"循環依賴項"的事情。 發生這種情況時,當模塊周圍的不同位置嘗試相互訪問時,您可能會遇到問題。

№5:空格還是縮進?

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

№6:塊迭代

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

代替:

 

  1. for i in x: 
  2.  
  3. i += 5 

 

做:

 

  1. [i + 5 for i in x] 

№7:實習弦

對于最后一個要考慮的錯誤,我想談談實習琴弦。 在某些情況下,Python會嘗試重用不可變的對象,而字符串實習就是這種實際作用的一種情況。 所有長度為1的字符串都被屏蔽。 字符串中除ASCII字符,數字和下劃線外沒有其他任何內容。

 

Python中通常不應該犯的7個錯誤

 

在這里,我嘗試創建兩個不同的對象a和b,但這不是Python所做的。 Python實際上是b指向a的指針,而不是產生新的字符串。 但是,如果我們添加ASCII字符:

 

Python中通常不應該犯的7個錯誤

 

因此,在使用不可變字符串時請牢記這一點,因為它無疑給我帶來了很多麻煩。

責任編輯:華軒 來源: 今日頭條
相關推薦

2009-01-03 15:07:38

ibmdwAIX

2022-07-05 09:02:05

Vue 3Vue 2Typescript

2013-05-29 10:10:05

醫療搜索互聯網大數據

2020-06-05 14:09:42

Kubernetes容器應用程序

2019-04-04 14:33:19

云計算云端企業

2022-07-03 08:14:30

VS Code主題

2023-03-24 12:52:22

2016-11-02 12:56:58

Linux新手錯誤

2015-10-21 16:11:49

理念實踐運維

2022-03-09 08:14:24

CSS容器container

2022-07-28 13:11:45

箭頭函數前端代碼

2016-10-12 16:34:37

Linux操作系統

2020-06-21 21:25:14

物聯網WiFiIOT

2020-06-17 10:35:16

機器學習AI人工智能

2020-02-10 10:51:51

云計算人工智AI

2020-06-09 09:19:14

數據庫

2019-09-02 09:30:40

2010-07-05 14:47:26

Gartner社交網絡

2020-12-14 10:13:49

Windows 10Windows微軟

2022-08-24 10:03:18

CSS文本按鈕
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕韩在线第一页 | 国产探花在线精品一区二区 | www.av7788.com| 精品免费国产一区二区三区四区 | 自拍偷拍欧美 | 亚洲啊v在线 | 午夜久久久久久久久久一区二区 | 精品中文字幕一区二区 | 亚洲风情在线观看 | 一区二区三区视频免费观看 | 综合国产| 羞羞视频网页 | 好姑娘高清在线观看电影 | 亚洲精品一区二区三区在线观看 | 99国产精品久久久久老师 | 精品久久久久久国产 | 欧美午夜精品 | 亚洲444eee在线观看 | 亚洲欧美在线一区 | 亚洲不卡在线观看 | av网站免费 | 91av在线免费看 | 一区二区三区四区日韩 | 欧美亚洲国产一区二区三区 | 欧美黑人巨大videos精品 | 国产96在线 | 日韩有码一区 | 国产精品欧美日韩 | 成人在线免费观看视频 | 91成人影院 | 中文字幕影院 | 农村妇女毛片精品久久久 | 精品国产一区二区三区久久影院 | 精品视频一区二区三区 | 精品成人一区 | 最新av在线网址 | 亚洲免费在线播放 | 亚洲欧美综合 | 一区视频在线免费观看 | www久久| 亚洲成av人影片在线观看 |