《Python從入門到數(shù)據(jù)分析應(yīng)用》 課件 第12、13章 數(shù)據(jù)分析、Python開發(fā)環(huán)境與調(diào)試_第1頁
《Python從入門到數(shù)據(jù)分析應(yīng)用》 課件 第12、13章 數(shù)據(jù)分析、Python開發(fā)環(huán)境與調(diào)試_第2頁
《Python從入門到數(shù)據(jù)分析應(yīng)用》 課件 第12、13章 數(shù)據(jù)分析、Python開發(fā)環(huán)境與調(diào)試_第3頁
《Python從入門到數(shù)據(jù)分析應(yīng)用》 課件 第12、13章 數(shù)據(jù)分析、Python開發(fā)環(huán)境與調(diào)試_第4頁
《Python從入門到數(shù)據(jù)分析應(yīng)用》 課件 第12、13章 數(shù)據(jù)分析、Python開發(fā)環(huán)境與調(diào)試_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Python程序設(shè)計——從入門到數(shù)據(jù)分析PYTHON數(shù)據(jù)分析12.1數(shù)據(jù)分析概述12.2Python常用數(shù)據(jù)分析庫12.3基于K-means的客戶偏好分析12.4泰坦尼克號生存分析第十二章12.5《紅樓夢》文本分析12.6天氣數(shù)據(jù)分析數(shù)據(jù)分析概述12.1第十二章廣義上的數(shù)據(jù)分析是指采用任何方法對數(shù)據(jù)進行計算、處理,得出一些有意義結(jié)論的過程。狹義的數(shù)據(jù)分析是指通過統(tǒng)計方法對數(shù)據(jù)進行篩選、運算、排序、匯總等處理,得出有意義的結(jié)論。隨著信息技術(shù)的發(fā)展,數(shù)據(jù)分析又與數(shù)據(jù)挖掘、大數(shù)據(jù)等概念密不可分。數(shù)據(jù)分析基本流程12.1.1第十二章數(shù)據(jù)分析應(yīng)用場景12.1.2第十二章金融數(shù)據(jù)分析交通數(shù)據(jù)分析電商零售數(shù)據(jù)分析教育數(shù)據(jù)分析氣象、環(huán)境數(shù)據(jù)分析輿情監(jiān)控分析Python數(shù)據(jù)分析常用庫12.2第十二章PandasPandas是Python的數(shù)據(jù)分析和探索工具,是數(shù)據(jù)預(yù)處理階段的常用工具,也可以做簡單的數(shù)據(jù)統(tǒng)計。NumpyPython沒有提供數(shù)組功能,Numpy可以提供數(shù)組支持以及相應(yīng)的高效處理函數(shù),是Python數(shù)據(jù)分析的基礎(chǔ),也是SciPy、Pandas等數(shù)據(jù)處理和科學(xué)計算庫基本的函數(shù)功能庫。Matplotlib

Matplotlib是數(shù)據(jù)可視化工具和作圖庫,主要用于繪制數(shù)據(jù)圖表展示數(shù)據(jù)分析結(jié)果,是結(jié)果展示階段的常用工具。SciPySciPy是一組專門解決科學(xué)計算中各種標(biāo)準問題域的包的集合,包含的功能有最優(yōu)化、線性代數(shù)、積分、插值、擬合、特殊函數(shù)、快速傅里葉變換、信號處理和圖像處理、常微分方程求解和其他科學(xué)與工程中常用的計算等,主要用在數(shù)據(jù)分析建模階段。Python數(shù)據(jù)分析常用庫12.2第十二章Scikit-Learn

Scikit-Learn是Python常用的機器學(xué)習(xí)工具包,提供了完善的機器學(xué)習(xí)工具箱,在安裝使用時需要依賴于Numpy、Scipy和Matplotlib等。Keras

Keras是一個基于Theano的強大的深度學(xué)習(xí)庫,依賴于Numpy和Scipy,利用它可以搭建普通的神經(jīng)網(wǎng)絡(luò)和各種深度學(xué)習(xí)模型,如語言處理、圖像識別、自編碼器、循環(huán)神經(jīng)網(wǎng)絡(luò)、遞歸審計網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等,是數(shù)據(jù)分析建模階段的利器。ScrapyScrapy是專門為爬蟲而生的工具,具有URL讀取、HTML解析、存儲數(shù)據(jù)等功能,可以使用Twisted異步網(wǎng)絡(luò)庫處理網(wǎng)絡(luò)通信,其架構(gòu)清晰。且包含了各種中間件接口,可以靈活地完成多種需求,主要用在數(shù)據(jù)采集(獲?。╇A段。GensimGensim是用于做文本主題模型的庫,常用在自然語言處理的應(yīng)用中,如計算文本相似度、進行摘要提取等。Python數(shù)據(jù)分析常用庫12.2第十二章ScrapyScrapy是專門為爬蟲而生的工具,具有URL讀取、HTML解析、存儲數(shù)據(jù)等功能,可以使用Twisted異步網(wǎng)絡(luò)庫處理網(wǎng)絡(luò)通信,其架構(gòu)清晰。且包含了各種中間件接口,可以靈活地完成多種需求,主要用在數(shù)據(jù)采集(獲?。╇A段。GensimGensim是用于做文本主題模型的庫,常用在自然語言處理的應(yīng)用中,如計算文本相似度、進行摘要提取等?;贙-means的客戶偏好分析12.3第十二章項目需求分析。某航空公司面臨客戶流失、競爭力下降和航空資源未充分利用等經(jīng)營危機,該航空公司已積累的大量的會員檔案信息和其乘坐航班記錄,希望通過對這些數(shù)據(jù)進行分析,實現(xiàn)以下目標(biāo):1)對客戶進行分類。2)對不同的客戶類別進行特征分析,比較不同類別的客戶的價值。3)針對不同價值的客戶類別制定相應(yīng)的營銷策略,為其提供個性化服務(wù)?;贙-means的客戶偏好分析12.3第十二章本項目采用聚類分析方法對客戶群進行分類,采用的聚類算法是K-Means方法。項目的總體分析流程如下:1)抽取航空公司一定區(qū)間段的數(shù)據(jù)。2)對抽取的數(shù)據(jù)進行數(shù)據(jù)探索分析與預(yù)處理,包括數(shù)據(jù)缺失值與異常值的探索分析、數(shù)據(jù)清洗、特征構(gòu)建及標(biāo)準化等操作。3)基于RFM模型,使用K-Means算法進行客戶分群。4)針對模型結(jié)果得到不同價值的客戶,采用不同的營銷手段,提供定制化的服務(wù)?;贙-means的客戶偏好分析12.3第十二章2. 數(shù)據(jù)獲取及數(shù)據(jù)說明本項目的數(shù)據(jù)均來自航空公司內(nèi)部的數(shù)據(jù)庫,包括客戶基本信息、乘機信息以及積分信息等詳細數(shù)據(jù)。選取跨度為兩年的時間段作為分析觀測窗口,抽取觀測窗口從2012年4月1日至2014年3月31日內(nèi)有乘機記錄的所有客戶的詳細數(shù)據(jù)形成歷史數(shù)據(jù),總共62988條記錄。數(shù)據(jù)包含了會員卡號、入會時間、性別、年齡、會員卡級別、在觀測窗口內(nèi)的飛行公里數(shù)以及飛行時間等44個特征屬性。基于K-means的客戶偏好分析12.3第十二章數(shù)據(jù)預(yù)處理1)數(shù)據(jù)清洗通過對原始數(shù)據(jù)集的觀察,發(fā)現(xiàn)數(shù)據(jù)集中存在票價為空值、票價為零,但是飛行公里大于零、乘客年齡大于100的不合理值,但是所占比例較小,可以直接丟棄。處理方法如下:(1)丟棄票價為空的記錄。(2)保留票價不為0的,或者平均折扣率不為0且總飛行公里數(shù)大于0的記錄。(3)丟棄年齡大于100的記錄。2)特征提取FFP_DATELOAD_TIMELAST_TO_ENDFLIGHT_COUNTSEG_KM_SUM基于K-means的客戶偏好分析12.3第十二章數(shù)據(jù)預(yù)處理3)特征變換在完成5個指標(biāo)的數(shù)據(jù)提取后,發(fā)現(xiàn)5個指標(biāo)的取值范圍數(shù)據(jù)差異較大,為了消除數(shù)量級數(shù)據(jù)帶來的影響,保證結(jié)果的可靠性,需要對原始指標(biāo)數(shù)據(jù)進行標(biāo)準化處理。做法通常有:將數(shù)據(jù)按比例縮放,使之落入一個小的特定區(qū)間。去除數(shù)據(jù)的單位限制,將其轉(zhuǎn)化為無單位限制的純數(shù)值,便于不同單位或量級的指標(biāo)能夠進行比較和加權(quán)處理。基于K-means的客戶偏好分析12.3第十二章4.分析建模K-means聚類算法也稱k均值聚類算法,是一種基于距離的聚類算法,即采用距離作為相似性的評價指標(biāo),認為兩個對象的距離越近,其相似度就越大。sklearn的cluster模塊提供了KMeans函數(shù)來構(gòu)建K-Means聚類模型基于K-means的客戶偏好分析12.3第十二章5.結(jié)果展示雷達圖可以在同一坐標(biāo)系內(nèi)展示多指標(biāo)的分析比較情況。它是由一組坐標(biāo)和多個同心圓組成的圖表。雷達圖分析法是綜合評價中常用的一種方法,尤其適用于對多屬性體系結(jié)構(gòu)描述的對象作出全局性、整體性評價。泰坦尼克號生存分析12.4第十二章1912年4月15日,泰坦尼克號在首次航行期間撞上冰山后沉沒,2224名乘客和機組人員中有1502人遇難。這場轟動的悲劇震撼了國際社會。海難造成大量傷亡的原因之一是沒有足夠的救生艇給乘客和機組人員,但是幸存下來乘客也有一些其他因素。本小節(jié)采用數(shù)據(jù)科學(xué)方法對泰坦尼克號乘客的生存情況進行分析。泰坦尼克號數(shù)據(jù)集介紹12.4.1第十二章泰坦尼克號數(shù)據(jù)集來源于Kaggle網(wǎng)站(/c/titanic),主要字段見表12.1。其中PassengerId為乘客ID,Ticket為船票編號,不參與數(shù)據(jù)分析;參與數(shù)據(jù)分析的字段中Survived,Pclass,Sex,Embarked為類別型數(shù)據(jù);字段Age,SibSp,Parch,Fare為數(shù)值型數(shù)據(jù)。字段描述值PassengerId乘客ID

Survived是否獲救1表示獲救;0表示未獲救Pclass客艙等級1表示Upper,2表示Middle,3表示LowerSex乘客性別male表示男性,F(xiàn)emale表示女性Age乘客年齡數(shù)值SibSp同乘的配偶及兄弟姐妹數(shù)量數(shù)值Parch同乘的父母及子女?dāng)?shù)量數(shù)值Ticket船票編號

Fare票價數(shù)值Embarked乘客登船港口C、Q、S三個港口表12.1泰坦尼克號數(shù)據(jù)集泰坦尼克號數(shù)據(jù)分析12.4.2第十二章泰坦尼克號數(shù)據(jù)分析12.4.2第十二章(1)20~21行的運行結(jié)果。False891Name:Age,dtype:int64泰坦尼克號數(shù)據(jù)分析12.4.2第十二章代碼23行查看數(shù)值型數(shù)據(jù)的描述信息,主要包括數(shù)據(jù)記錄數(shù)、平均值、標(biāo)準差、最小值、四分位數(shù)、最大值。代碼25~30行采用循環(huán)繪制各個數(shù)值型屬性的直方圖,圖形中柱形的個數(shù)設(shè)置為15。泰坦尼克號數(shù)據(jù)分析12.4.2第十二章圖12.2泰坦尼克號數(shù)據(jù)集數(shù)值型數(shù)據(jù)直方圖由圖12.2看出,除Age屬性外,各個數(shù)值型數(shù)據(jù)一般呈右偏分布。泰坦尼克號數(shù)據(jù)分析12.4.2第十二章泰坦尼克號數(shù)據(jù)分析12.4.2第十二章代碼31行,新建畫布,figsize參數(shù)定義畫布寬16英寸、高10英寸;32行代碼定義顏色列表;代碼33~39行采用循環(huán)遍歷類別型屬性并繪制類別型屬性的餅圖,其中34行獲取類別屬性的唯一值;35行獲取與唯一值個數(shù)相等長度的顏色列表,作為繪制餅圖的顏色;36行添加子圖;37行繪制餅圖,3個返回值wedges、label、autopct分別為餅圖Wedge對象、label為餅圖標(biāo)簽、autopct為各個類別占比,該3個返回值均為列表;定義labels參數(shù)為屬性唯一值,colors參數(shù)為35行獲取的顏色列表,autopct參數(shù)設(shè)置百分比信息的字符串格式化方式;38行添加標(biāo)題;39行設(shè)置餅圖標(biāo)簽的字號和字體,其中參數(shù)值label為37行的返回值。圖12.3泰坦尼克號數(shù)據(jù)集類別型數(shù)據(jù)餅圖泰坦尼克號數(shù)據(jù)分析12.4.2第十二章泰坦尼克號數(shù)據(jù)分析12.4.2第十二章代碼41行新建畫布,代碼42~50行采用循環(huán)繪制不同類別屬性獲救率柱狀圖,其中43行添加子圖,44行提取所需數(shù)據(jù),并獲取分組類別,例如繪制“不同Sex獲救率”子圖時,提取數(shù)據(jù)為Survided和Sex兩列,獲取的分組類別是Sex列的唯一值“female”和“male”;45行代碼計算不同類別的獲救率,例如計算“female”和“male”類別各自的獲救率;46行繪制柱狀圖;47行設(shè)置柱狀圖標(biāo)題;48行設(shè)置y軸標(biāo)題;49~50行設(shè)置x軸和y軸刻度標(biāo)簽字號和字體。由圖12.4可以得出,從性別來看,女性獲救率較高;從船艙等級看,船艙等級為1的獲救率最高;從登船港口看,C港口獲救率最高。圖12.4泰坦尼克號乘客不同性別、船艙等級、登船港口獲救率泰坦尼克號數(shù)據(jù)分析12.4.2第十二章泰坦尼克號數(shù)據(jù)分析12.4.2第十二章本段代碼采用Seaborn庫中的小提琴圖函數(shù)violinplot()繪制小提琴圖,以結(jié)合多個屬性查看數(shù)據(jù)獲救情況。代碼52行解決Seaborn里中文顯示問題和字體大小設(shè)置;代碼53行采用subplots()函數(shù)創(chuàng)建包含子圖的繪圖空間;代碼54行繪制以“Age”為橫坐標(biāo),“Pclass”為縱坐標(biāo),參數(shù)Hue為“Survived”列,ax=ax[0]表示繪制在第1個子圖,palette='Set2'設(shè)置顏色調(diào)色板;代碼55行設(shè)置標(biāo)題;代碼56行設(shè)置x軸刻度范圍。圖12.5泰坦尼克號不同船艙等級、性別、登船港口獲救/非獲救年齡分布《紅樓夢》文本分析12.5第十二章《紅樓夢》是中國古代章回體長篇小說,中國古典四大名著之一。小說以賈、史、王、薛四大家族的興衰為背景,以富貴公子賈寶玉為視角,以賈寶玉與林黛玉、薛寶釵的愛情婚姻悲劇為主線,展現(xiàn)了真正的人性美和悲劇美,是

一部從各個角度展現(xiàn)中國古代社會世態(tài)百相的史詩性著作。一般認為《紅樓夢》前八十回和后四十回為不同作者所著。為了研究《紅樓夢》前八十回與后四十回的區(qū)別,本小節(jié)通過統(tǒng)計不同章節(jié)的詞頻來查看其異同。

缺標(biāo)點。《紅樓夢》文本分析12.5第十二章《紅樓夢》文本分析12.5第十二章《紅樓夢》文本分析12.5第十二章前八十回重復(fù)詞匯數(shù)量為:396180前八十回不重復(fù)詞匯數(shù)量為:36107圖12.6《紅樓夢》前八十回高頻詞匯詞云運行結(jié)果《紅樓夢》文本分析12.5第十二章后四十回重復(fù)詞匯數(shù)量為:193468后四十回不重復(fù)詞匯數(shù)量為:18244圖12.7《紅樓夢》后四十回高頻詞匯詞云《紅樓夢》文本分析12.5第十二章代碼第1~7行導(dǎo)入所需庫,第8行設(shè)置不發(fā)出警告消息,第9~37行統(tǒng)計文本中詞語數(shù)量并進行排序,第40~47行根據(jù)詞頻繪制詞云圖?!都t樓夢》前八十回重復(fù)詞匯數(shù)量為396,180,不重復(fù)詞匯數(shù)量為36,107;后四十回重復(fù)詞匯數(shù)量為193,468;不重復(fù)詞匯數(shù)量為:18,244。該數(shù)量與章節(jié)的長度成正比。從圖12.6和圖12.7看出,無論前八十回還是后四十回,“寶玉”都是出現(xiàn)頻次最高的詞匯;前10個高頻詞匯(“寶玉”除外),基本是以“賈母”、“鳳姐”、“王夫人”、“老太太”、“姑娘”、“老爺”、“眾人”等表示主要人物的詞匯為主;前八十回和后四十回中,“王夫人”和“老太太”的詞頻變動比較明顯。天氣數(shù)據(jù)分析12.6第十二章某城市天氣數(shù)據(jù)字段如表12.2所示。本實例主要對天氣指標(biāo)之間的相關(guān)性和趨勢進行分析。字段名數(shù)據(jù)類型字段含義datevarchar日期質(zhì)量等級varchar質(zhì)量等級AQI指數(shù)int空氣質(zhì)量指數(shù)當(dāng)天AQI排名int當(dāng)天空氣質(zhì)量指數(shù)排名PM2.5intPM2.5PM10intPM10SO2int二氧化硫NO2int二氧化氮COint一氧化碳O3int臭氧表12.2天氣數(shù)據(jù)字段天氣數(shù)據(jù)分析12.6第十二章天氣數(shù)據(jù)分析12.6第十二章天氣數(shù)據(jù)分析12.6第十二章運行結(jié)果圖12.82018年P(guān)M2.5變化趨勢圖從圖12.8看,PM2.5在3月和11月較高,8月較低。天氣數(shù)據(jù)分析12.6第十二章運行結(jié)果圖12.92018年P(guān)M2.5一階差分圖一階差分可以反應(yīng)PM2.5的增量,即后一天相對前一天的變化。第27行提取Series數(shù)據(jù)的values屬性,結(jié)果為ndarray數(shù)據(jù)對象,并采用np.diff()函數(shù)計算該數(shù)據(jù)的差分,差分結(jié)果如圖12.9所示。第28行查看數(shù)據(jù)的維度和類型;第29~32行繪制折線圖。小結(jié)第十二章本章主要通過案例介紹了數(shù)據(jù)分析,主要包括數(shù)據(jù)分析的基本流程、常見應(yīng)用場景、常用Python庫,最后通過案例介紹了采用Python進行數(shù)據(jù)分析的常見操作。在數(shù)據(jù)分析中,需要掌握Numpy、Pandas、Matplotlib等庫。思政案例Python程序設(shè)計——從入門到數(shù)據(jù)分析PYTHONPython集成開發(fā)環(huán)境—Spyder常見錯誤異常處理實踐篇13.1Python集成開發(fā)環(huán)境—Spyder實踐篇Spyder是Anaconda中的Python集成開發(fā)環(huán)境,是一個強大的交互式開發(fā)環(huán)境。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇菜單欄(Menubar)菜單欄中分組放置了Spyder的所有功能,顯示可用于操縱Spyder各項功能的不同選項,點擊各個選項卡,會出現(xiàn)下拉菜單,顯示這個功能組的各項功能及快捷鍵。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇2.工具欄(Toolsbar)

工具欄中放置快捷菜單,通過單擊圖標(biāo)可快速執(zhí)行Spyder中最常用的操作,將鼠標(biāo)懸停在某個圖標(biāo)上可以獲取相應(yīng)功能說明。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇3.路徑窗口(Pythonpath)

路徑窗口用于顯示當(dāng)前打開的文件所處的路徑,通過其下拉菜單和后面的兩個圖標(biāo)可以方便地進行文件路徑的切換。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇4.代碼編輯區(qū)(Editor)

代碼編輯區(qū)是用于編寫Python代碼的窗口,左邊的行號區(qū)域顯示代碼的所在行。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇5. 變量查看器(Variableexplorer)變量查看器類似MATLAB的工作空間,可以方便地查看變量的名稱、類型及變量值。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇6.幫助查看器(Help)幫助查看器能使用戶快速便捷地查看幫助文檔。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇7.圖形查看器(plots)

程序運行結(jié)果中如果有圖形,可以在圖形查看器中查看圖形,并且可以保存成圖片。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇8.文件查看器(Fileexplorer)通過文件查看器,可以查看當(dāng)前文件夾下的文件。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇9.控制臺(IPythonconsole)在此區(qū)域,可以交互地執(zhí)行Python程序。。13.1Python集成開發(fā)環(huán)境—Spyder實踐篇11.歷史日志(Historylog)歷史日志中,按時間順序記錄輸入到任何Spyder控制臺的每個命令。常用快捷鍵實踐篇Ctrl+1:注釋/取消注釋Ctrl+4/5:塊注釋/取消塊注釋Ctrl+L:跳轉(zhuǎn)到行號Tab/Shift+Tab:代碼縮進/反縮進Ctrl+I:查看某個函數(shù)的幫助文檔F5:運行整個程序F9:運行選中代碼13.2常見錯誤實踐篇程序設(shè)計中的錯誤有兩類:一是語法錯誤;二是設(shè)計中的邏輯錯誤。語法錯誤也被稱為解析錯誤,對于這類錯誤,支持Python的IDE都會給出對應(yīng)的報錯信息,并且在出錯的語句行標(biāo)記特定符號,方便我們快速定位到語法錯誤。我們首先要看懂IDE給出的報錯信息。SyntaxError語法錯誤——程序語句中出現(xiàn)了不能識別的字符實踐篇這類錯誤最常見的是出現(xiàn)中文標(biāo)點符號。例:錯誤原因:在上述語句中的第一個雙引號是中文符號。報錯信息:SyntaxError:invalidcharacterinidentifier(語法錯誤:出現(xiàn)無效字符)改正方法:使用英文符號"IndentationError縮進錯誤——代碼沒有按語法要求正確縮進實踐篇Python采用語句縮進和冒號來區(qū)分語句之間的層次,縮進相同的一組語句構(gòu)成一個語句塊。例:錯誤原因:滿足if條件需要執(zhí)行的語句塊沒有按語法要求縮進。報錯信息:IndentationError:expectedanindentedblock(縮進錯誤:應(yīng)為縮進塊)改正方法:按語法要求縮進。IndentationError縮進錯誤——代碼沒有按語法要求正確縮進實踐篇如果不該縮進的語句進行了縮進,Python程序也會有錯誤。例:錯誤原因:兩個語句屬于同一層次,應(yīng)嚴格對齊,不應(yīng)該縮進。報錯信息:IndentationError:unexpectedindent(縮進錯誤:意外縮進,指這里不應(yīng)縮進。)改正方法:同層語句要對齊,取消縮進。TypeError類型錯誤——傳入對象類型與要求的不符合實踐篇如果在某個運算或操作中,變量或常量不是該類運算或操作所支持的類型,就會出現(xiàn)TypeError類型錯誤。例:錯誤原因:試圖將整型數(shù)值與字符串“我的成績是”進行+連接,而Python不支持數(shù)值與字符之間進行+運算。報錯信息:TypeError:mustbestr,notint(類型錯誤:必須是字符串,不能是整型)改正方法:可將變量a轉(zhuǎn)換成str類型,即print("我的成績是"+str(a))IndexError索引錯誤——索引超出序列的范圍實踐篇Python中的序列類型,如列表、字符串、元組等,索引號均是從0開始,所以可以訪問的最大索引號應(yīng)該是序列長度減1。Python還支持反向遞減序號,反向時從序列開始尾部訪問,索引號從-1開始。。例:錯誤原因:在Python中索引是從0開始的,所以列表a的第三個元素的索引為2,試圖訪問a[3],超出了列表范圍。報錯信息:IndexError:listindexoutofrange(索引錯誤:列表索引超出范圍)改正方法:可提前對序列類型求長,知道其索引范圍后再訪問。NameError變量錯誤——試圖訪問一個沒有申明的變量。實踐篇Python雖然不需要定義變量,但也必須為變量賦過值之后才可以訪問,否則就會出現(xiàn)NameError變量錯誤。例:錯誤原因:試圖輸出的變量b沒有申明過。報錯信息:NameError:name'b'isnotdefined(變量錯誤:變量b沒有申明)改正方法:先為b變量賦值,再輸出顯示AttributeError屬性錯誤——試圖訪問一個對象沒有的屬性或方法。實踐篇如果試圖訪問某個對象沒有的屬性或調(diào)用某個對象所屬類型沒有定義的方法,就會出現(xiàn)AttributeError屬性錯誤。例:錯誤原因:a是一個元組,元組是不可變對象,元組類型沒有append()方法。報錯信息:AttributeError:'tuple'objecthasnoattribute'append'(屬性錯誤:元組對象沒有append屬性/方法)改正方法:可定義a為列表IOError:輸入/輸出錯誤——試圖打開不存在的文件或試圖以非法方式訪問文件實踐篇在Python中的引起IOError錯誤的主要原因是在指定路徑下找不到要訪問的文件,可能是文件名拼寫錯誤,也可能是文件路徑給的不對。例:錯誤原因:在D盤根目錄下沒找到test.txt這個文件。改正方法:確認指定路徑下是否有該文件,檢查路徑和文件名是否拼寫正確。IOError:輸入/輸出錯誤——試圖打開不存在的文件或試圖以非法方式訪問文件實踐篇以讀取方式打開了文件,試圖寫入文件內(nèi)容,也會造成文件IOError錯誤。例:錯誤原因:test.txt以只讀形式打開,試圖在只讀模式下寫入。改正方法:在讀取文件之后記得把文件關(guān)閉,當(dāng)需要寫入文件時,要再將文件以W+打開,然后寫入。ImportError:導(dǎo)入模塊錯誤——試圖導(dǎo)入不存在或無法獲取的模塊實踐篇Python自帶的標(biāo)準庫,如本書前文介紹過的math、random、datetime、re等模塊,都可以直接用import命令導(dǎo)入,但對于第三方庫,需要自行安裝后才可導(dǎo)入,否則就會出錯。例:錯誤原因:沒有安裝genius第三方庫。改正方法:確認要導(dǎo)入的模塊是Python自帶的標(biāo)準庫或已安裝的第三方庫。Value

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論