av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

N年P(guān)ython老司機(jī),血淚總結(jié)新手常見10大錯(cuò)誤

作為python的新手,大家在上手python的時(shí)候都會(huì)或多或少的接觸到一些rookie mistake,也就是菜鳥級(jí)別的錯(cuò)誤。小編作為一個(gè)老司機(jī)也是從這些錯(cuò)誤中一點(diǎn)一點(diǎn)的積累經(jīng)驗(yàn),才慢慢的能夠熟練的使用python。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、承留網(wǎng)絡(luò)推廣、小程序開發(fā)、承留網(wǎng)絡(luò)營(yíng)銷、承留企業(yè)策劃、承留品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供承留建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

遇到錯(cuò)誤不可怕,關(guān)鍵是要學(xué)會(huì)如何去避免犯這些錯(cuò)誤。今天小編就帶領(lǐng)大家看一下作為python新手最常見的幾個(gè)錯(cuò)誤,希望大家能夠在學(xué)習(xí)的過程中,盡量的去避免這些錯(cuò)誤。

1.默認(rèn)可變對(duì)象

上圖中,我們定義了addElement函數(shù),在函數(shù)的形參中,我們默認(rèn)使用了可變對(duì)象list。當(dāng)我們連續(xù)的使用默認(rèn)參數(shù)調(diào)用addElement函數(shù)時(shí),可以發(fā)現(xiàn)list1只被創(chuàng)建了一次。由于list屬于python中的可變對(duì)象,因此只在函數(shù)被定義的時(shí)候才能被創(chuàng)建一次,所以在調(diào)用的時(shí)候都使用的創(chuàng)建好的同一個(gè)list列表。而對(duì)于不可變對(duì)象,情況就不同了,如下圖所示。

對(duì)于不可變對(duì)象,程序在調(diào)用函數(shù)時(shí),將不可變對(duì)象作為默認(rèn)參數(shù)進(jìn)行調(diào)用。那么我們?nèi)绾谓鉀Q這個(gè)問題呢,我們可以利用不可變對(duì)象進(jìn)行判斷解決,程序如下圖所示。

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

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

上述程序中,我們創(chuàng)建了字典dict1。并通過淺拷貝將dict1拷貝給dict2,通過copy庫(kù)中的deepcopy(深拷貝)將dict1拷貝給dict2??僧?dāng)刪除dict2中的鍵值為’2’中的子對(duì)象的元素后,dict1中的對(duì)應(yīng)元素也被刪除了,而dict3卻還保留。這就是淺拷貝和深拷貝的區(qū)別。如下圖所示。

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

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

這里的官方庫(kù)指的是大家需要import的庫(kù),這里小編統(tǒng)稱為官方庫(kù)。如下圖所示。

小編創(chuàng)建了一個(gè)py文件,并命名為numpy。當(dāng)小編想要調(diào)用大名鼎鼎的“numpy”時(shí),此時(shí)程序報(bào)了找不到屬性的“array”的錯(cuò)誤。原因就是小編將自己的py文件命名為了numpy,程序便會(huì)自動(dòng)的在當(dāng)前文件里面找“array”這個(gè)屬性。結(jié)果可想而知,當(dāng)然找不到啦,所以小編提醒大家,千萬不要將自己文件的名稱與官方庫(kù)撞名,不然會(huì)出大問題。

4.學(xué)會(huì)迭代器的使用

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

我們想要對(duì)list對(duì)象中的所有元素執(zhí)行addOne函數(shù),傳統(tǒng)的也是標(biāo)準(zhǔn)的方法是利用for循環(huán)來實(shí)現(xiàn),就如第一種方法。但是由于list對(duì)象是可迭代對(duì)象,我們完全可以利用好這個(gè)優(yōu)勢(shì),一行代碼就搞定這個(gè)問題,如第二種方法所示。所以充分利用好python中一些可迭代對(duì)象的性質(zhì),會(huì)節(jié)省很多的代碼,同時(shí)也讓我們少犯錯(cuò)誤。

5.頻繁的使用全局變量

作為python的初學(xué)者,大家都喜歡定義全局變量,并在函數(shù)中改變?nèi)肿兞浚豢煞裾J(rèn)的是某些地方需要在函數(shù)中改變?nèi)肿兞?,但是這樣的方法會(huì)對(duì)程序帶來傷害,程序的安全性會(huì)變得脆弱。大家需要在平時(shí)的編程中改變這種習(xí)慣,如下圖所示。

在編程時(shí),我們應(yīng)該盡量使用傳參的形式來使用全局變量,而不是直接修改全局變量。因?yàn)槿肿兞看蠖鄶?shù)情況下是所有的函數(shù)共享的變量,為了保證程序的安全,不應(yīng)該隨便被改變,除非在程序設(shè)計(jì)的時(shí)候,要求去改變?nèi)肿兞俊?/p>

6.明確是python2還是python3

在初學(xué)python的時(shí)候,大家可能會(huì)被python2還是python3搞得手足無措,無法及時(shí)的在python2和python3的語(yǔ)法中進(jìn)行切換,大家需要明確自己使用的python版本,因?yàn)閜ython2與python3區(qū)別還是比較多的,因此大家需要格外小心,如下圖所示。

由于python2和python3中的輸出表達(dá)形式不同,所以大家需要在使用print函數(shù)時(shí),在python3版本后面加小括號(hào)進(jìn)行輸出。

7.分不清”is”和“==”的區(qū)別

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

上述程序中我們分別利用is和==倆判斷兩個(gè)列表是否相等,可以看出,is是判斷兩個(gè)列表的地址是否相等,而==是看兩個(gè)列表中的數(shù)值是否一致。大家可以記住一個(gè)順口溜:is看地址,等號(hào)看內(nèi)容,這樣再使用is和==進(jìn)行元素判斷時(shí)就不會(huì)再犯錯(cuò)誤了。

8.將python的關(guān)鍵字作為變量名稱

作為python的初學(xué)者,往往會(huì)搞不清楚python的關(guān)鍵字有哪些,從而會(huì)使得程序報(bào)錯(cuò)。

上述的程序中,我們利用關(guān)鍵字“class”來創(chuàng)建新的類別,這會(huì)導(dǎo)致程序報(bào)錯(cuò),同時(shí)我們可以發(fā)現(xiàn),編輯器對(duì)于關(guān)鍵字的提示是不同的顏色提示,告訴我們使用的是關(guān)鍵字,從而讓我們注意不要使用關(guān)鍵字作為變量名稱。

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

對(duì)于局部變量,我們?cè)谡{(diào)用它的時(shí)候需要確保它被定義,如下圖所示。

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

10.規(guī)避++操作和—操作

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

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


網(wǎng)站欄目:N年P(guān)ython老司機(jī),血淚總結(jié)新手常見10大錯(cuò)誤
網(wǎng)頁(yè)地址:http://uogjgqi.cn/article/dhhgpgg.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流