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

N年Python老司機,血淚總結新手常見10大錯誤

開發 后端
遇到錯誤不可怕,關鍵是要學會如何去避免犯這些錯誤。今天小編就帶領大家看一下作為python新手最常見的幾個錯誤,希望大家能夠在學習的過程中,盡量的去避免這些錯誤。

作為python的新手,大家在上手python的時候都會或多或少的接觸到一些rookie mistake,也就是菜鳥級別的錯誤。小編作為一個老司機也是從這些錯誤中一點一點的積累經驗,才慢慢的能夠熟練的使用python。

遇到錯誤不可怕,關鍵是要學會如何去避免犯這些錯誤。今天小編就帶領大家看一下作為python新手最常見的幾個錯誤,希望大家能夠在學習的過程中,盡量的去避免這些錯誤。

1.默認可變對象

 

N年Python老司機,血淚總結新手常見10大錯誤

上圖中,我們定義了addElement函數,在函數的形參中,我們默認使用了可變對象list。當我們連續的使用默認參數調用addElement函數時,可以發現list1只被創建了一次。由于list屬于python中的可變對象,因此只在函數被定義的時候才能被創建一次,所以在調用的時候都使用的創建好的同一個list列表。而對于不可變對象,情況就不同了,如下圖所示。

 

N年Python老司機,血淚總結新手常見10大錯誤

對于不可變對象,程序在調用函數時,將不可變對象作為默認參數進行調用。那么我們如何解決這個問題呢,我們可以利用不可變對象進行判斷解決,程序如下圖所示。

我們利用條件判斷,list1是否為None,來決定是否創建新的列表,以此來解決上述的問題。

2.淺拷貝和深度拷貝問題

 

N年Python老司機,血淚總結新手常見10大錯誤

上述程序中,我們創建了字典dict1。并通過淺拷貝將dict1拷貝給dict2,通過copy庫中的deepcopy(深拷貝)將dict1拷貝給dict2。可當刪除dict2中的鍵值為’2’中的子對象的元素后,dict1中的對應元素也被刪除了,而dict3卻還保留。這就是淺拷貝和深拷貝的區別。如下圖所示。

 

N年Python老司機,血淚總結新手常見10大錯誤

淺拷貝只是拷貝了父對象,但是對于子對象還是引用的同一個對象。而對于深拷貝,則是完全將子對象和父對象拷貝了一份出來,各自都有獨立的子對象。

3.切記不要用官方庫文件名來命名自己的文件

這里的官方庫指的是大家需要import的庫,這里小編統稱為官方庫。如下圖所示。

 

N年Python老司機,血淚總結新手常見10大錯誤

小編創建了一個py文件,并命名為numpy。當小編想要調用大名鼎鼎的“numpy”時,此時程序報了找不到屬性的“array”的錯誤。原因就是小編將自己的py文件命名為了numpy,程序便會自動的在當前文件里面找“array”這個屬性。結果可想而知,當然找不到啦,所以小編提醒大家,千萬不要將自己文件的名稱與官方庫撞名,不然會出大問題。

4.學會迭代器的使用

Python作為一個非常方便快捷的語言,很多元素都具有可迭代性,我們要充分利用好這些性質,如下圖所示。

 

N年Python老司機,血淚總結新手常見10大錯誤

我們想要對list對象中的所有元素執行addOne函數,傳統的也是標準的方法是利用for循環來實現,就如第一種方法。但是由于list對象是可迭代對象,我們完全可以利用好這個優勢,一行代碼就搞定這個問題,如第二種方法所示。所以充分利用好python中一些可迭代對象的性質,會節省很多的代碼,同時也讓我們少犯錯誤。

5.頻繁的使用全局變量

作為python的初學者,大家都喜歡定義全局變量,并在函數中改變全局變量,不可否認的是某些地方需要在函數中改變全局變量,但是這樣的方法會對程序帶來傷害,程序的安全性會變得脆弱。大家需要在平時的編程中改變這種習慣,如下圖所示。

 

N年Python老司機,血淚總結新手常見10大錯誤

在編程時,我們應該盡量使用傳參的形式來使用全局變量,而不是直接修改全局變量。因為全局變量大多數情況下是所有的函數共享的變量,為了保證程序的安全,不應該隨便被改變,除非在程序設計的時候,要求去改變全局變量。

6.明確是python2還是python3

在初學python的時候,大家可能會被python2還是python3搞得手足無措,無法及時的在python2和python3的語法中進行切換,大家需要明確自己使用的python版本,因為python2與python3區別還是比較多的,因此大家需要格外小心,如下圖所示。

 

N年Python老司機,血淚總結新手常見10大錯誤

由于python2和python3中的輸出表達形式不同,所以大家需要在使用print函數時,在python3版本后面加小括號進行輸出。

7.分不清”is”和“==”的區別

對于“is”和“==”的使用 ,大家平時多用來判斷兩個值是否相等,但是這“相等”在python中也有不同的概念,我們要區分是地址相等還是數值相等,如下圖所示。

 

N年Python老司機,血淚總結新手常見10大錯誤

上述程序中我們分別利用is和==倆判斷兩個列表是否相等,可以看出,is是判斷兩個列表的地址是否相等,而==是看兩個列表中的數值是否一致。大家可以記住一個順口溜:is看地址,等號看內容,這樣再使用is和==進行元素判斷時就不會再犯錯誤了。

8.將python的關鍵字作為變量名稱

作為python的初學者,往往會搞不清楚python的關鍵字有哪些,從而會使得程序報錯。

 

N年Python老司機,血淚總結新手常見10大錯誤

上述的程序中,我們利用關鍵字“class”來創建新的類別,這會導致程序報錯,同時我們可以發現,編輯器對于關鍵字的提示是不同的顏色提示,告訴我們使用的是關鍵字,從而讓我們注意不要使用關鍵字作為變量名稱。

9.使用未定義的局部變量

對于局部變量,我們在調用它的時候需要確保它被定義,如下圖所示。

 

N年Python老司機,血淚總結新手常見10大錯誤

對于printLocalNum1,我們沒有定義localnum就調用它 ,結果必然報錯,但是在printLocalNum2中,我們通過判斷輸入的大小,給localnum進行賦值,然后輸出localnum的結果,這里,我們通過if else做了完全的判斷,確保無論在何種數值(注意必須是數值)輸入下,localnum都會被進行賦值,從而不會調用未定義的localnum。

10.規避++操作和—操作

 

N年Python老司機,血淚總結新手常見10大錯誤

Python雖然語法簡單,但是對于C++、java中的++或者—的自增和自減操作是不支持的,原因是為什么呢?小編給大家一個我個人的理解,由于在python中整數是不可變類型,創建之后就不能被改變,而自增和自減就是將原先地址里的數值進行改變替換,這與python不可變類型相違背,因此就無法實現自增或者自減操作了。

以上10條信息是小編個人在N年的漫長python學習生涯中總結出來的新手常見的錯誤,具有很高的代表性,希望大家能夠引以為戒,不要犯同樣的錯誤。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2012-02-20 16:45:40

Android開發新手

2010-08-16 13:51:22

DIV+CSS

2013-01-14 10:01:20

惠普裁員Autonomy

2009-09-14 19:23:45

敏捷開發

2019-09-19 08:17:02

數據分析AB

2014-06-23 09:41:28

數據挖掘

2009-12-23 15:26:21

微軟決策錯誤

2024-07-16 08:00:00

Kubernetes開發

2013-10-23 14:34:15

2017-10-18 13:28:27

語言Python開發錯誤

2017-10-17 14:48:08

機器學習新手工程師常犯錯誤

2017-10-17 12:29:18

機器學習函數算法

2017-12-27 11:48:57

IT管理數據中心錯誤

2016-01-11 11:32:41

Java程序員錯誤

2018-04-09 06:43:44

機器學習函數算法

2017-03-29 19:00:20

災難恢復IT停機虛擬化

2018-12-04 09:07:36

運維問題排查

2010-01-04 09:57:07

2010-05-10 09:10:51

Linux

2019-07-18 14:17:25

運維命令網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线免费电影 | 毛片一区二区三区 | 一区二区三区成人 | 久久久久免费精品国产小说色大师 | 国产一区二区在线免费观看 | 亚洲精品一区在线观看 | 久www| 在线观看免费黄色片 | 国产精品一区二区电影 | 日日人人 | 久久精品国产一区二区电影 | 麻豆精品国产91久久久久久 | www.青青草 | 亚洲性人人天天夜夜摸 | 精品国产乱码久久久久久蜜臀 | 亭亭五月激情 | 福利社午夜影院 | 一区二区视频在线 | 日韩在线观看一区 | 亚洲福利一区 | 亚洲精品欧美 | 国产精品久久久久久久免费大片 | 99久久精品国产毛片 | 黄色91在线| 极品粉嫩国产48尤物在线播放 | 日本不卡一区二区三区 | 精品成人 | 国产精品久久久久久久久污网站 | 成人精品网 | 中文天堂在线一区 | www国产成人免费观看视频,深夜成人网 | 丁香久久 | 高清欧美性猛交 | 国产黄色一级片 | 祝你幸福电影在线观看 | 中文在线a在线 | 精品久久久久久亚洲精品 | 亚洲视频一区二区三区 | 亚洲91精品 | 成人性生交a做片 | 在线中文字幕第一页 |