千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 菜鳥程序員在Python編程時常犯的9個錯誤

菜鳥程序員在Python編程時常犯的9個錯誤

來源:千鋒教育
發(fā)布人:wjy
時間: 2023-01-09 10:58:00 1673233080

  通過應用軟件工程最佳實踐,可以交付質(zhì)量更好數(shù)據(jù)科學的項目。更好的質(zhì)量可能是更少的錯誤、可靠的結(jié)果和更高的編碼效率。

  最佳實踐都是從錯誤中總結(jié)出來的,所以這里我們總結(jié)了一些遇到的最常見的錯誤,并提供了如何最好地解決這些錯誤的方法、想法和資源。

  1、不使用虛擬環(huán)境

  這本身不是編碼問題,但我仍然認為每種類型的項目進行環(huán)境的隔離是一個非常好的實踐。

  為什么要為每個項目使用專用環(huán)境呢?

  第一個原因是Python本身包管理的問題,我們想盡量減少包和版本之間的沖突。

  另外一個原因是我們代碼和依賴可以方便的部署到任意的位置

  使用虛擬環(huán)境可以從Anaconda或Pipenv開始。如果想更深入那么Docker 是首選。

  2、過度使用Jupyter Notebook

  Notebooks非常適合用于教育目的和做一些快速而復雜的分析工作,但它不能作為一個好的IDE。

  一個好的IDE是應對數(shù)據(jù)科學任務時的真正武器,可以極大地提高您的工作效率。

  Notebooks很適合做實驗,而且可以輕松地將結(jié)果展示給其他人。但是它很容易出錯,當涉及到執(zhí)行長期、協(xié)作和可部署的項目時,最好還是使用IDE,例如VScode、Pycharm、Spyder等。

  3、使用絕對而不是相對路徑

  絕對路徑的最大問題是無法進行方便部署,解決這個問題的主要方法是將工作目錄設置為項目根目錄,并且不要再項目中包含項目目錄外的文件,并且在代碼中的所有路徑均使用相對路徑。

Python編程時常犯的9個錯誤1

  4、不處理警告

 

  當我們的代碼能夠運行但產(chǎn)生奇怪的警告消息,我們很高興終于讓代碼運行并收到了有意義的輸出。但是我們需要處理這些警告嗎?

  首先,警告本身并不是錯誤,但它們是會引起我們對潛在錯誤或問題的提示。當你的代碼中能夠運行成功但可能不是它的預期方式時,警告就會出現(xiàn)。

  我遇到的最常見的警告是Pandas的SettingwithCopyWarning和DeprecationWarning。

  SettingwithCopyWarning最大的原因是Pandas檢測到鏈式賦值(Chained Assignment)時發(fā)生的警告,我們應該避免對鏈式索引的結(jié)果賦值,因為這個操作有可能會報warning也有可能不會報。

  DeprecationWarning通常指出Pandas棄用了某些功能,并且您的代碼在使用更高版本時會中斷。

  這里的建議并不是要處理所有的警告,但是一定要對所有警告產(chǎn)生的原因有所了解,要知道在特定項目中那些警告式可以忽略的,那些警告的出現(xiàn)對結(jié)果會有影響,應當避免。

  5、沒有使用(很少使用)列表推導式

  列表推導式是Python的一個非常強大的特性。許多for循環(huán)可以用更易讀、更Python且速度更快的列表推導來代替。

  可以在下面看到一個示例代碼,該代碼旨在讀取目錄中的CSV文件。可以看到,在使用列表推導時添很容易維護。

Python編程時常犯的9個錯誤2

  6、不適用類型注釋

  類型注釋(或類型提示)是為變量分配類型的方法。在IDE進行智能感知的提示時可以為我們提供指示變量/參數(shù)的類型。這不僅可以提高我們開發(fā)的速度,也可以對我們閱讀代碼有很大的幫助

Python編程時常犯的9個錯誤3

  如果這么寫,我們根本不知道a,b和times的類型

Python編程時常犯的9個錯誤4

  但是加上了類型注釋,我們就知道a和b是字符串times是整數(shù)

  需要說明的是:Python在3.5版本的時候引入了類型注釋,Python并不會在執(zhí)行時檢查類型注釋,他只是為IDE提供了一個方便靜態(tài)類型檢查工具,對動態(tài)語言做靜態(tài)類型檢查,來避免一些潛在的錯誤。

  7、Pandas代碼不規(guī)范

  方法鏈是Pandas的一個很棒的特性,但是如果在一行中包含了很多的操作,代碼可能會變得不可讀。

  有一個技巧可以讓這種方式邊的簡單,將表達式放入括號中,則可以對表達式的每個組件使用一行。

Python編程時常犯的9個錯誤5

  8、不遵守 PEP 約定

  剛開始使用Python進行編程時,代碼可能是簡陋并且不可讀的,這是因為我們并沒有自己的設計規(guī)則來讓我的代碼看起來更好。如果我們自己來設計這種規(guī)則是費事費力的并且這種規(guī)則需要很多的實踐,好在Python官方有已經(jīng)指定好的規(guī)則:PEP,它是Python的官方樣式指南。

  雖然PEP的規(guī)則很多并且很繁瑣,我們可以忽略了一些PEP規(guī)則,但可以在90% 的代碼中使用了它們。

  9、不適用編碼輔助工具

  您想在編碼方面大幅提高生產(chǎn)力嗎?請開始使用編碼輔助工具,它通過巧妙的自動完成、打開文檔和提供改進代碼的建議來提供幫助。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
適合三農(nóng)領域的名字?有何技巧?

現(xiàn)在在抖音上很多博主會選擇直播來賺取更多的流量以及利潤,直播間的東西也有很多讓消費者信任并且喜歡的,而且隨著越來越多人直播,很多農(nóng)產(chǎn)品...詳情>>

2023-09-19 07:06:05
抖店商品發(fā)布違規(guī)怎么申訴?有何規(guī)則?

抖店服務市場服務商發(fā)布違禁信息如何處理?情節(jié)嚴重程度判定原則:違規(guī)嚴重等級主要通過服務商違規(guī)次數(shù)、造成后果的嚴重程度、獲利或?qū)е聯(lián)p失的...詳情>>

2023-09-19 06:59:55
“泛垂直起號”可能是2023年最高效的起號方式

這可能是明年最好用的旗號方式了,今天教大家一個很野,但是可以讓你三天漲1000粉的偏方。去年前年啊,每個人都教你,誰知七號對著自己的產(chǎn)品拍...詳情>>

2023-09-19 06:37:38
做直播怎么賣自己的貨怎么上鏈接?能賺錢嗎?

直播賣貨是時下非?;鸬囊粋€行業(yè),我們的產(chǎn)品可以放到網(wǎng)上賣,也可以在網(wǎng)上做直播?,F(xiàn)在的直播平臺也是很多的,基本不愁沒有銷路。如果想要賣自...詳情>>

2023-09-19 06:28:26
比較適合新手的3個不用出境的領域

隨著短視頻行業(yè)盛勢發(fā)展,越來越多的年輕人也想要投入這行,但又苦于不想出鏡。抖音短視頻 for Android V24.8.0 安卓手機版類型:影音播放大小...詳情>>

2023-09-19 06:06:39
開班信息
北京校區(qū)
  • 北京校區(qū)
  • 大連校區(qū)
  • 廣州校區(qū)
  • 成都校區(qū)
  • 杭州校區(qū)
  • 長沙校區(qū)
  • 合肥校區(qū)
  • 南京校區(qū)
  • 上海校區(qū)
  • 深圳校區(qū)
  • 武漢校區(qū)
  • 鄭州校區(qū)
  • 西安校區(qū)
  • 青島校區(qū)
  • 重慶校區(qū)
  • 太原校區(qū)
  • 沈陽校區(qū)
  • 南昌校區(qū)
  • 哈爾濱校區(qū)