![Python 數(shù)據(jù)分析與科學(xué)計算 課件全套 王小銀 第1-11章 數(shù)據(jù)分析基礎(chǔ) -機器學(xué)習(xí)_第1頁](http://file4.renrendoc.com/view9/M02/08/3F/wKhkGWdNbXKADLdPAAEoj0-MXcQ553.jpg)
![Python 數(shù)據(jù)分析與科學(xué)計算 課件全套 王小銀 第1-11章 數(shù)據(jù)分析基礎(chǔ) -機器學(xué)習(xí)_第2頁](http://file4.renrendoc.com/view9/M02/08/3F/wKhkGWdNbXKADLdPAAEoj0-MXcQ5532.jpg)
![Python 數(shù)據(jù)分析與科學(xué)計算 課件全套 王小銀 第1-11章 數(shù)據(jù)分析基礎(chǔ) -機器學(xué)習(xí)_第3頁](http://file4.renrendoc.com/view9/M02/08/3F/wKhkGWdNbXKADLdPAAEoj0-MXcQ5533.jpg)
![Python 數(shù)據(jù)分析與科學(xué)計算 課件全套 王小銀 第1-11章 數(shù)據(jù)分析基礎(chǔ) -機器學(xué)習(xí)_第4頁](http://file4.renrendoc.com/view9/M02/08/3F/wKhkGWdNbXKADLdPAAEoj0-MXcQ5534.jpg)
![Python 數(shù)據(jù)分析與科學(xué)計算 課件全套 王小銀 第1-11章 數(shù)據(jù)分析基礎(chǔ) -機器學(xué)習(xí)_第5頁](http://file4.renrendoc.com/view9/M02/08/3F/wKhkGWdNbXKADLdPAAEoj0-MXcQ5535.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Python數(shù)據(jù)分析與科學(xué)計算教材內(nèi)容第1章數(shù)據(jù)分析基礎(chǔ)第2章第3章第4章第5章第6章Python數(shù)據(jù)分析環(huán)境Python數(shù)據(jù)類型程序控制結(jié)構(gòu)函數(shù)與模塊文件第7章Numpy數(shù)值計算第8章第9章第10章第11章Pandas數(shù)據(jù)分析處理Matplotlib數(shù)據(jù)可視化機器學(xué)習(xí)SciPy科學(xué)計算第1章數(shù)據(jù)分析基礎(chǔ)1.1數(shù)據(jù)分析概述1.2數(shù)據(jù)分析流程1.3常用數(shù)據(jù)分析工具
1.1數(shù)據(jù)分析基礎(chǔ)
數(shù)據(jù)分析:用適當(dāng)?shù)慕y(tǒng)計分析方法對收集來的大量數(shù)據(jù)進(jìn)行分析,將它們加以匯總、理解并消化,把隱藏在數(shù)據(jù)背后的信息提煉出來,以求最大化地開發(fā)數(shù)據(jù)的功能,發(fā)揮數(shù)據(jù)的作用。數(shù)據(jù)分析是為了提取有用信息和形成結(jié)論而對數(shù)據(jù)加以詳細(xì)研究和概括總結(jié)的過程。
1.1數(shù)據(jù)分析基礎(chǔ)
數(shù)據(jù)分析應(yīng)用場景客戶分析:根據(jù)客戶的基本數(shù)據(jù)信息進(jìn)行商業(yè)行為分析營銷分析:產(chǎn)品分析、價格分析、渠道分析、廣告與促銷分析社交媒體:以不同的社交媒體渠道生成的內(nèi)容為基礎(chǔ),實現(xiàn)不同社交媒體的用戶分析、訪問分析和互動分析網(wǎng)絡(luò)安全:使用數(shù)據(jù)分析技術(shù),建立潛在攻擊識別分析模型,監(jiān)測大量網(wǎng)絡(luò)活動數(shù)據(jù)和相應(yīng)的訪問行為,識別可能進(jìn)行入侵的可疑模式醫(yī)療行業(yè):對疾病進(jìn)行預(yù)測,達(dá)到疾病預(yù)防的目的物流領(lǐng)域:通過業(yè)務(wù)系統(tǒng)和GPS定位系統(tǒng)獲得數(shù)據(jù),使用數(shù)據(jù)構(gòu)建交流狀況預(yù)測分析模型,有效預(yù)測實時路況、物流狀況、車流量、客流量和貨物吞吐量設(shè)備管理:收集和分析設(shè)備上的數(shù)據(jù)流,包括連續(xù)用電、零部件溫度、環(huán)境濕度和污染物顆粒等無數(shù)潛在特征
1.2數(shù)據(jù)分析流程
需求分析:了解數(shù)據(jù)分析的目的,提供數(shù)據(jù)分析的方向數(shù)據(jù)收集:根據(jù)數(shù)據(jù)分析目標(biāo)和需求分析的結(jié)果,提取、收集數(shù)據(jù)數(shù)據(jù)預(yù)處理:對數(shù)據(jù)進(jìn)行數(shù)據(jù)合并、數(shù)據(jù)清洗、數(shù)據(jù)變換和數(shù)據(jù)標(biāo)準(zhǔn)化數(shù)據(jù)分析與建模:通過分析方法和聚類、分類、關(guān)聯(lián)規(guī)則、智能推薦等模型與算法等,對已處理的數(shù)據(jù)進(jìn)行分析,提取有價值的信息,形成有效結(jié)論的過程數(shù)據(jù)可視化:將數(shù)據(jù)分析與預(yù)測結(jié)果以計算機圖形或圖像的方式展示給用戶撰寫分析報告:對整個數(shù)據(jù)分析過程的總結(jié)和呈現(xiàn)
1.3常用數(shù)據(jù)分析工具ExcelR語言Python語言MatlabWekaSASSPSSPython數(shù)據(jù)分析與科學(xué)計算機械工業(yè)出版社第2章Python數(shù)據(jù)分析環(huán)境2.1Python概述2.2Python語言特點2.3搭建Python開發(fā)環(huán)境2.4集成開發(fā)環(huán)境Pycharm2.5數(shù)據(jù)分析環(huán)境Anaconda2.6開發(fā)工具JupyterNotebook
2.1Python概述
Python原意:大蟒蛇開發(fā)者:荷蘭人GuidovanRossum第一個Python編譯器在1991年誕生1994年發(fā)布Python1.0版本,2000年發(fā)布Python2.0版本,2008年發(fā)布Python3.0版本
2.1Python概述
Python應(yīng)用領(lǐng)域
科學(xué)計算和數(shù)據(jù)分析Web開發(fā)
人工智能
云計算
自動化運維
網(wǎng)絡(luò)編程
2.2Python語言的特點Python語言設(shè)計理念是“優(yōu)雅、明確、簡單”Python開發(fā)者的哲學(xué)是“用一種方法,最好是只有一種方法來做一件事”Python語言特點:語法簡潔開源面向?qū)ο罂梢浦残越忉屝钥蓴U展性豐富的庫健壯性
2.3Python開發(fā)環(huán)境1.Windows環(huán)境下安裝Python開發(fā)環(huán)境在Python官網(wǎng)/下載安裝包,選擇Windows平臺下的安裝包
2.3Python開發(fā)環(huán)境1.Windows環(huán)境下安裝Python開發(fā)環(huán)境單擊Python3.10.2下載,下載的文件名為python-3.10.2-amd64.exe,雙擊該文件,進(jìn)入Python安裝界面
2.3Python開發(fā)環(huán)境1.Windows環(huán)境下安裝Python開發(fā)環(huán)境單擊Python3.10.2下載,下載的文件名為python-3.10.2-amd64.exe,雙擊該文件,進(jìn)入Python安裝界面任意選擇一種安裝方式
2.3Python開發(fā)環(huán)境1.Windows環(huán)境下安裝Python開發(fā)環(huán)境安裝成功提示信息
2.3Python開發(fā)環(huán)境2.安裝Python包管理工具pip在Python官網(wǎng)/pypi/pip#downloads下載pip安裝包,下載完成之后,解壓pip安裝包到一個文件夾,從控制臺進(jìn)入解壓目錄,輸入下列命令安裝pip:
pythonsetup.pyinstall安裝完成之后,對pip環(huán)境變量進(jìn)行設(shè)置打開控制臺,輸入piplist,有如下圖顯示,表示安裝成功
2.3Python開發(fā)環(huán)境3.運行第一個Python程序交互式(兩種方式進(jìn)入)
第一種:啟動Windows操作系統(tǒng)打開開始菜單,輸入cmd之后,進(jìn)入命令行窗口,在控制臺中輸入“python”,按【Enter】鍵進(jìn)入交互式環(huán)境中,在命令提示符“>>>”后輸入相應(yīng)代碼,例如:print("HelloWorld!")
按【Enter】鍵執(zhí)行,得到運行結(jié)果
2.3Python開發(fā)環(huán)境3.運行第一個Python程序交互式(兩種方式進(jìn)入)
第二種:調(diào)用安裝的Python自帶的IDLE啟動交互式窗口。
啟動之后在命令提示符“>>>”后輸入代碼,再按【Enter】鍵執(zhí)行,得到運行結(jié)果
2.3Python開發(fā)環(huán)境3.運行第一個Python程序文件式(1)打開IDLE,選擇【File】→【NewFile】命令或按【Ctrl+N】快捷鍵,打開Python程序編輯窗口。(2)在Python程序編輯窗口輸入程序的代碼。(3)語句輸入完成后,在Python程序編輯窗口選擇【File】→【Save】命令,確定文件保存位置和文件名,例如“d:\Pycode\hello.py”。(4)在Python程序編輯窗口選擇【Run】→【RunModule】命令或按F5快捷鍵,運行程序并在PythonIDLE中輸出運行結(jié)果。
2.4集成開發(fā)環(huán)境——PyCharm4.集成開發(fā)環(huán)境——PyCharm安裝訪問PyCharm官網(wǎng)/pycharm/download/,進(jìn)入PyCharm下載頁面
2.4集成開發(fā)環(huán)境——PyCharm4.集成開發(fā)環(huán)境——PyCharm安裝訪問PyCharm官網(wǎng)/pycharm/download/,進(jìn)入PyCharm下載頁面
2.4集成開發(fā)環(huán)境——PyCharm4.集成開發(fā)環(huán)境——PyCharm安裝雙擊下載的“pycharm-professional-2018.2.exe”文件,進(jìn)入PyCharm安裝界面
2.4集成開發(fā)環(huán)境——PyCharm4.集成開發(fā)環(huán)境——PyCharm安裝單擊【Next】按鈕,依次進(jìn)入選擇安裝路徑界面和文件配置界面選擇安裝路徑文件配置
2.4集成開發(fā)環(huán)境——PyCharm4.集成開發(fā)環(huán)境——PyCharm安裝單擊【Next】按鈕,進(jìn)入選擇啟動界面
2.4集成開發(fā)環(huán)境——PyCharm4.集成開發(fā)環(huán)境——PyCharm安裝單擊【Install】按鈕,開始安裝PyCharm安裝PyCharm安裝完成
2.4集成開發(fā)環(huán)境——PyCharm5.PyCharm的使用首次使用,會提示用戶選擇是否導(dǎo)入開發(fā)環(huán)境配置文件單擊【OK】按鈕,彈出提示用戶閱讀并接受協(xié)議界面
2.4集成開發(fā)環(huán)境——PyCharm5.PyCharm的使用單擊【Accept】按鈕,進(jìn)入數(shù)據(jù)共享界面單擊【Don’tsend】按鈕,進(jìn)入提示用戶激活軟件界面
2.4集成開發(fā)環(huán)境——PyCharm5.PyCharm的使用選擇【Evaluateforfree】選項,單擊【Evaluate】按鈕,啟動PyCharm,進(jìn)入創(chuàng)建項目界面
2.4集成開發(fā)環(huán)境——PyCharm5.PyCharm的使用選擇創(chuàng)建一個新項目,單擊【CreateNewProject】,進(jìn)入項目設(shè)置界面
2.4集成開發(fā)環(huán)境——PyCharm5.PyCharm的使用在上圖中【Location】中填寫項目保存的路徑之后,單擊【Create】按鈕,進(jìn)入項目歡迎界面
2.4集成開發(fā)環(huán)境——PyCharm5.PyCharm的使用單擊上圖中【Close】按鈕,進(jìn)入項目開發(fā)界面,此時,需要在項目中創(chuàng)建Python文件。選擇項目名稱,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇【New】→【PythonFile】
2.4集成開發(fā)環(huán)境——PyCharm5.PyCharm的使用為新建的Python文件命名在【Name】文本框中輸入文件名,例如“hello”,單擊【OK】按鈕,文件創(chuàng)建成功
2.4集成開發(fā)環(huán)境——PyCharm5.PyCharm的使用在文本框中輸入程序代碼,并保存程序單擊菜單欄【Run】→【Run‘hello’】或使用快捷鍵【Shift+F10】,運行程序
2.5數(shù)據(jù)分析環(huán)境Anaconda1.安裝Anaconda訪問Anaconda官網(wǎng)/download/,下載安裝包
2.5數(shù)據(jù)分析環(huán)境Anaconda1.安裝Anaconda安裝Anaconda過程
2.5數(shù)據(jù)分析環(huán)境Anaconda1.安裝Anaconda安裝Anaconda過程
2.5數(shù)據(jù)分析環(huán)境Anaconda1.安裝Anaconda安裝Anaconda過程
2.5數(shù)據(jù)分析環(huán)境Anaconda1.安裝Anaconda安裝完成AnacondaNavigator:用于管理工具包和環(huán)境的圖形用戶界面。AnacondaPowerShellPrompt和AnacondaPrompt:Anaconda自帶的命令行界面。JupyterNotebook:基于Web的交互式計算環(huán)境。Spyder:使用Python語言、跨平臺的科學(xué)運算集成開發(fā)環(huán)境。
2.5數(shù)據(jù)分析環(huán)境Anaconda2.通過Anaconda管理Python包檢測conda是否被安裝打開AnacondaPrompt工具,然后在AnacondaPrompt中通過命令檢測conda是否被安裝,命令格式為:(base)C:\Users\admin>conda--versionconda23.5.2返回當(dāng)前的版本號
2.5數(shù)據(jù)分析環(huán)境Anaconda2.通過Anaconda管理Python包查看當(dāng)前環(huán)境下的包信息使用list命令可以獲取當(dāng)前環(huán)境中已經(jīng)安裝的包信息,命令格式為:condalist執(zhí)行該命令后,終端會顯示當(dāng)前環(huán)境下已安裝的包及其版本號
2.5數(shù)據(jù)分析環(huán)境Anaconda2.通過Anaconda管理Python包查找包使用search命令可以查找可供安裝的包,命令格式為:condasearch--full-name包的全名上述命令中,--full-name為精確查找的參數(shù),后面緊跟的是包的全名。例如,查找全名為“python”的包有哪些版本可供安裝,命令格式為:condasearch--full-namepython
2.5數(shù)據(jù)分析環(huán)境Anaconda2.通過Anaconda管理Python包安裝包使用install命令可以安裝包。如果要實現(xiàn)在指定環(huán)境中進(jìn)行安裝,則可以在install命令后面指定環(huán)境名稱,命令格式為:condainstall--nameenv_name
package_name
其中,env_name參數(shù)表示包安裝的環(huán)境名稱,package_name表示將要安裝的包名稱。
例如,在Python3環(huán)境中安裝pandas包,命令格式為:condainstall--namepython3pandas如果要在當(dāng)前的環(huán)境中安裝包,則可以直接使用install命令進(jìn)行安裝,命令格式為:condainstallpackage_name執(zhí)行上述命令,會在當(dāng)前的環(huán)境下安裝package_name包。
2.5數(shù)據(jù)分析環(huán)境Anaconda2.通過Anaconda管理Python包卸載包使用remove命令可以卸載包。如果要在指定的環(huán)境中卸載包,則可以在指定環(huán)境下使用remove命令進(jìn)行移除,命令格式為:condaremove--nameenv_name
package_name例如,卸載Python3環(huán)境下的pandas包,命令格式為:condaremove--namepython3pandas
2.5數(shù)據(jù)分析環(huán)境Anaconda2.通過Anaconda管理Python包更新包使用update命令可以更新包。更新當(dāng)前環(huán)境下所有的包,命令格式為:condaupdate--all如果只想更新某個包或某些包,則直接在update命令的后面加上包名即可,多個包之間使用空格隔開,例如:condaupdatenumpycondaupdatenumpymatplotlibScikit-learn
2.6開發(fā)工具JupyterNotebook1.啟動Anaconda自帶的JupyterNotebook同時,系統(tǒng)默認(rèn)的瀏覽器會彈出JupyterNotebook的主界面,該界面默認(rèn)打開和保存的目錄為C:\Users\當(dāng)前用戶名。
2.6開發(fā)工具JupyterNotebook1.啟動Anaconda自帶的JupyterNotebook在Windows系統(tǒng)的“開始”菜單中,打開Anaconda3目錄,找到并單擊“JupyterNotebook”,會彈出啟動窗口
2.6開發(fā)工具JupyterNotebook2.使用JupyterNotebook編寫程序點擊JupyterNotebook主界面右上角New→Python3(ipykernel),創(chuàng)建一個基于Python3的筆記本
2.6開發(fā)工具JupyterNotebook2.使用JupyterNotebook編寫程序在新建文件中編寫代碼,然后運行
2.7Python程序基本結(jié)構(gòu)1.簡單Python程序【例1.1】輸出字符串:“HelloWorld!”程序代碼:print(‘HelloWorld!’)運行結(jié)果:pleaseinputthenumberofx,y,z:3,6,9aver=6.0Hello,World!
2.7Python程序基本結(jié)構(gòu)1.簡單Python程序【例1.2】從鍵盤輸入3個數(shù),求它們的平均值程序代碼:x,y,z=input(‘pleaseinputthenumberofx,y,z:’)sum=x+y+zaver=sum/3.0print(‘a(chǎn)ver=’,aver)運行結(jié)果:pleaseinputthenumberofx,y,z:3,6,9aver=6.0
2.7Python程序基本結(jié)構(gòu)【例1.3】使用函數(shù),求解圓形、長方形、三角形的面積程序代碼:
#圓形面積defCirArea(r):area=3.14*r*rprint("theareaofcircleis:",area)#長方形面積defRectArea(a=5,b=6):area=a*bprint("theareaofrectangleis:",area)#三角形面積defTriArea(b,h):area=1.0/2*b*hprint("theareaoftriangleis:")returnareaCirArea(4)RectArea()print(TriArea(3,4))運行結(jié)果:theareaofcircleis:50.24theareaofRectangleis:20theareaofTriangleis:6.0
2.7Python程序基本結(jié)構(gòu)2.用縮進(jìn)表示代碼塊Python語言采用嚴(yán)格的“縮進(jìn)”表示程序的邏輯關(guān)系當(dāng)表示分支、循環(huán)、函數(shù)、類等程序結(jié)構(gòu)時,在if、while、for、def、class等保留字所在語句后通過冒號(:)結(jié)尾,并在之后行縮進(jìn)代碼縮進(jìn)有兩種方式:采用制表符(即鍵盤上的Tab鍵)和采用若干個空格不建議混合使用空格和Tab
2.7Python程序基本結(jié)構(gòu)3.代碼注釋單行注釋:#例如:print("HelloWorld!")#輸出HelloWorld!“#”右邊的內(nèi)容在執(zhí)行的時候不會被輸出多行注釋:三個單引號(''')或者三個雙引號(""")例如:'''print("HelloWorld!")輸出HelloWorld!'''
2.7Python程序基本結(jié)構(gòu)4.語句續(xù)行Python有兩種續(xù)行方式,一種是使用反斜線“\”符號另一種特殊情況下的續(xù)行方式是在使用括號時,括號中的內(nèi)容可分行書寫,括號中的空白和換行符都會被忽略#表達(dá)式續(xù)行>>>a=1+2+3+\+4+5>>>print(a)15#輸出續(xù)行>>>print("Thisis\alongsentence.")Thisisalongsentence.>>>print("Thisisalongsentence.")Thisisalongsentence.
2.7Python程序基本結(jié)構(gòu)5.語句分隔在一行中書寫多條句,就需要使用分號(;)分隔每條語句>>>a=1;b=2;c=3#以分號分隔的3條語句,分別給a、b、c賦值>>>print(a,b,c)#輸出a、b、c的值123
2.8Python的版本在Python官方網(wǎng)站上同時提供了Python2.x和Python3.x兩個不同系列的版本。1.input()函數(shù)Python3.x去掉了raw_input()函數(shù),用input()替代raw_input()函數(shù)返回一個字符串2.print()函數(shù)Python2.xPython3.x功
能printprint()輸出回車換行print3print(3)輸出一個值,以回車結(jié)束,光標(biāo)停留在下一行行首print3,print(3,end=’’)輸出一個值,光標(biāo)停留在輸出數(shù)據(jù)行尾print3,5print(3,5)輸出多個值,以空格分割
2.8Python的版本3.Unicode編碼Python2.x中的字符串基于ASCII編碼;Python3.x默認(rèn)使用UTF-8編碼
Python2.xPython3.x>>>str="中華人民共和國">>>str'\xd6\xd0\xbb\xaa\xc8\xcb\xc3\xf1\xb9\xb2\xba\xcd\xb9\xfa'>>>str="中華人民共和國">>>str'中華人民共和國'
2.8Python的版本4.除法運算Python的除法運算包括/和//兩個運算符,/在Python2.x和Python3.x使用方法不同Python2.xPython3.x>>>5/31>>>5/3.01.6666666666666667>>>5/31.6666666666666667>>>5.0/31.6666666666666667
2.8Python的版本5.數(shù)據(jù)類型(1)Python3.x去掉了長整數(shù)類型long,不再區(qū)分整數(shù)和長整數(shù)類型,只有一個int類型。int類型無取值范圍限定。(2)Python3.x新增了bytes類型,對應(yīng)于Python2.x版本的八位串。定義一個bytes類型的方法如下:>>>a_bytes=b'Python'>>>a_bytesb'Python'>>>type(a_bytes)<class'bytes'>
2.8Python的版本6.異常處理Python2.xPython3.x功
能Exceptionexc,varExceptionexcasvar或Exception(exc1,exc2)asvar捕獲異常raiseException,argsraiseException(args)”處理異常
2.8Python的版本7.不等于運算符Python2.x中,不等于運算符有!=和<>兩種寫法;Python3.x中去掉了<>,只有!=一種寫法。8.八進(jìn)制形式Python2.x中,八進(jìn)制以0開頭;Python3.x中,八進(jìn)制以0o開頭。Python數(shù)據(jù)分析與科學(xué)計算機械工業(yè)出版社第3章Python數(shù)據(jù)類型3.1Python的基本數(shù)據(jù)類型3.2Python組合數(shù)據(jù)類型3.3數(shù)據(jù)的輸入與輸出3.1python的基本數(shù)據(jù)類型
在程序設(shè)計語言中,都是采用數(shù)據(jù)類型來描述程序中的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)的表示范圍和數(shù)據(jù)在內(nèi)存中的存儲分配等。整型數(shù)據(jù)即整數(shù),不帶小數(shù)點,可以有正號或者負(fù)號。在Python3.x中,整型數(shù)據(jù)在計算機內(nèi)的表示沒有長度限制,其值可以任意大。>>>a=12345678900123456789>>>b=a*a>>>b152415787504953525750053345778750190521
1.整型數(shù)據(jù)3.1python的基本數(shù)據(jù)類型
十進(jìn)制整數(shù):由0到9組成。二進(jìn)制整數(shù):以0b或0B為前綴,由0和1組成。八進(jìn)制整數(shù):以0o或0O為前綴,其后由0至7的數(shù)字組成。十六進(jìn)制整數(shù):以0x或0X開頭,其后由0至9的數(shù)字和a至f字母或A至F字母組成。根據(jù)前綴來區(qū)分各種進(jìn)制數(shù)3.1python的基本數(shù)據(jù)類型
實數(shù)又稱浮點數(shù),一般有兩種表示形式:十進(jìn)制小數(shù)形式:由數(shù)字和小數(shù)點組成(必須有小數(shù)點
指數(shù)形式:用科學(xué)計數(shù)法表示的浮點數(shù),用字母e(或E)表示以10為底的指數(shù),e之前為數(shù)字部分,之后為指數(shù)部分。注意:e(或E)前面必須有數(shù)字,后面必須是整數(shù)。
2.實型數(shù)據(jù)例如:e-5,1.2E-3.5,1e3.1python的基本數(shù)據(jù)類型
字符型數(shù)據(jù)可以使用一對單引號、雙引號或者三引號3.字符型數(shù)據(jù)>>>"Let'sgo""Let'sgo">>>s="'Python'Program">>>s"'Python'Program"3.1python的基本數(shù)據(jù)類型
轉(zhuǎn)義字符字符形式含義\n
回車換行,將當(dāng)前位置移到下一行開頭\t
橫向跳到下一制表位置(Tab)\b
退格,將當(dāng)前位置退回到前一列\(zhòng)r
回車,將當(dāng)前位置移到當(dāng)前行開頭\f
走紙換頁,將當(dāng)前位置移到下頁開頭\\
反斜線符"\"\'單引號符\"雙引號符\ddd1~3位8進(jìn)制數(shù)所代表的字符\xhh1~2位16進(jìn)制數(shù)所代表的字符3.1python的基本數(shù)據(jù)類型
3.1python的基本數(shù)據(jù)類型
【例2.2】
轉(zhuǎn)義字符的應(yīng)用。程序代碼:a=1b=2c='\101'print("\t%d\n%d%s\n%d%d\t%s"%(a,b,c,a,b,c))運行結(jié)果:□□□□□□□□12A12□□□□□□APython的布爾類型有兩個值:True和False,分別表示邏輯真和邏輯假。4.布爾型數(shù)據(jù)>>>type(True)
<class'bool'>>>>True==1
True>>>False==0
True3.1python的基本數(shù)據(jù)類型
布爾類型還可以與其他數(shù)據(jù)類型進(jìn)行邏輯運算,Python規(guī)定:0、空字符串、None為False,其他數(shù)值和非空字符串為True。>>>0andFalse0>>>NoneorTrueTrue3.1python的基本數(shù)據(jù)類型
復(fù)數(shù)由兩部分組成:實部和虛部
復(fù)數(shù)的形式為:實部+虛部j5.復(fù)數(shù)類型數(shù)據(jù)>>>x=3+5j>>>x.real
3.0>>>x.imag
5.0>>>y=6-10j>>>x+y
(9-5j)3.1python的基本數(shù)據(jù)類型
3.2運算符與表達(dá)式1.Python運算符Python語言的運算符按照它們的功能可分為:(1)算術(shù)運算符(+、–、*、/、**、//、%)。(2)關(guān)系運算符(>、<、>=、<=、==、!=)。(3)邏輯運算符(and、or、not)。(4)位運算符(<<、>>、~、|、^、&)。(5)賦值運算符(=、復(fù)合賦值運算符)。(6)成員運算符(in、notin)。(7)同一運算符(is、isnot)。(8)下標(biāo)運算符([])。(9)其他(如函數(shù)調(diào)用運算符())。3.2運算符與表達(dá)式Python中的運算符具有優(yōu)先級和結(jié)合性。(1)優(yōu)先級:指同一個表達(dá)式中不同運算符進(jìn)行運算時的先后次序。通常所有單目運算符的優(yōu)先級高于雙目運算符。(2)結(jié)合性:指在表達(dá)式中各種運算符優(yōu)先級相同時,由運算符的結(jié)合性決定表達(dá)式的運算順序。它分為兩類:一類運算符的結(jié)合性為從左到右,稱為左結(jié)合性;另一類運算符的結(jié)合性是從右到左,稱為右結(jié)合性。通常單目、三目和賦值運算符是右結(jié)合性,其余均為左結(jié)合性。
3.2運算符與表達(dá)式2.算術(shù)運算符和算術(shù)表達(dá)式運算符含義優(yōu)先級結(jié)合性+加法這些運算符的優(yōu)先級相同,但比下面的運算符優(yōu)先級低左結(jié)合-減法*乘法這些運算符的優(yōu)先級相同,但比上面的運算符優(yōu)先級高/除法//取整除**冪運算%取模
Python中除法有兩種:/和//,在Python3.x分別表示除法和整除運算。>>>3/5
0.6-------------------------->>>3//5
0-------------------------->>>-3.0//5
-1.0------------------------->>>3.0//-5
-1.03.2運算符與表達(dá)式
**運算符實現(xiàn)乘方運算,其優(yōu)先級高于*和/。例如:>>>2**3
8---------------------->>>2**3.5
11.313708498984761---------------------->>>4*3**2
36運算符的多重含義:>>>3*5#整數(shù)相乘運算
15-------------------------->>>'a'*10#字符串重復(fù)運算
'aaaaaaaaaa'--------------------------
賦值運算符賦值運算符用“=”表示。
賦值表達(dá)式
變量=表達(dá)式等號的左邊必須是變量,右邊是表達(dá)式。>>>y=2>>>x=(y+2)/3>>>x
1.33333333333333333.2運算符與表達(dá)式3.賦值運算符和賦值表達(dá)式(1)鏈?zhǔn)劫x值在Python中,可通過鏈?zhǔn)劫x值將同一個值賦給多個變量的,一般形式為:>>>x=y=5>>>x5多變量賦值(2)多變量并行賦值
變量1,變量2,…,變量n=表達(dá)式1,表達(dá)式2,…,表達(dá)式n變量個數(shù)要與表達(dá)式的個數(shù)一致,其過程為:首先計算表達(dá)式右邊n個表達(dá)式的值,然后同時將表達(dá)式的值賦給左邊的n個變量。例如:>>>x,y,z=2,5,8>>>x
2------------------->>>y
5------------------->>>z
83.2運算符與表達(dá)式3.2運算符與表達(dá)式例如:
采取并行賦值,可以使用一條語句就可以交換兩個變量的值:x,y=y,x。>>>x=20>>>x,x=3,x*3>>>x60賦值運算符“=”與7種算術(shù)運算符(+、-、*、/、//、**、%)和5種位運算符(>>、<<、&、^、|)結(jié)合構(gòu)成12種復(fù)合的賦值運算符。例如:a+=3 等價于 a=a+3a*=a+3 等價于 a=a*(a+3)a%=3 等價于 a=a%3注意:“a*=a+3”與“a=a*a+3”是不等價的,“a*=a+3”等價于“a=a*(a+3)”,這里括號是必需的。3.2運算符與表達(dá)式復(fù)合的賦值運算符【例2.6】復(fù)合的賦值運算符。>>>a=3>>>b=5>>>a+=b>>>a
8----------------------------------------->>>a>>=2>>>a
2----------------------------------------->>>a*=a+3>>>a
103.2運算符與表達(dá)式
3.2運算符與表達(dá)式4.關(guān)系運算符和關(guān)系表達(dá)式運算符含義運算符含義>
大于>=大于等于<
小于<=小于等于==等于!=不等于在Python中,真用“True”表示,假用“False”表示。
3.2運算符與表達(dá)式>>>x,y,z=2,3,5>>>x>yFalse>>>y<zTrue>>>x<y<zTrue注意正確使用“=”與“==”a,b=0,1ifa=b:print("aequaltob")else:print("anotequaltob")語法錯誤:invalidsyntaxa,b=0,1ifa==b:print("aequaltob")else:print("anotequaltob")運行結(jié)果:anotequaltob關(guān)系運算符——注意符號區(qū)別3.2運算符與表達(dá)式
3.2運算符與表達(dá)式5.邏輯運算符和邏輯表達(dá)式邏輯運算符運算符含義結(jié)合性not邏輯非右結(jié)合and邏輯與左結(jié)合Or邏輯或(1)對于與運算aandb如果a為真,繼續(xù)計算b,b將決定最終整個表達(dá)式的真值,所以,結(jié)果為b的值。如果a為假,無需計算b,就可以得知整個表達(dá)式的真值為假,所以,結(jié)果為a的值。例如:
3.2運算符與表達(dá)式邏輯表達(dá)式>>>Trueand0
0
>>>Falseand12False(2)對于或運算aorb如果a為真,無需計算b,就可得知整個表達(dá)式的真值為真,所以結(jié)果為a的值。如果a為假,繼續(xù)計算b,b將決定整個表達(dá)式最終的值,所以結(jié)果為b的值。例如:3.2運算符與表達(dá)式>>>Trueor0
True>>>Falseor12
12>>>Falseor12or0
12
成員運算符用于判斷一個元素是否在某一個序列中,或者判斷一個字符是否屬于這個字符串等,運算結(jié)果仍是邏輯值。運算符含義優(yōu)先級結(jié)合性in存在
相同左結(jié)合notin不存在>>>'a'in'abcd'True>>>'ac'in'abcd'False3.2運算符與表達(dá)式6.成員運算符和成員表達(dá)式
notin運算符用于在指定的序列中查找某個值是否不存在,不存在返回True,存在返回False。3.2運算符與表達(dá)式>>>'a'notin'bcd'
True>>>3notin[1,2,3,4]False同一性運算符用于測試兩個變量是否指向同一個對象,其運算結(jié)果是邏輯值。運算符含義優(yōu)先級結(jié)合性is相同
相同左結(jié)合isnot不相同is檢查用來運算的兩個變量是否引用同一對象,如果相同返回True,不相同則返回False。isnot檢查用來運算的兩個變量是否不是引用同一對象,如果不是同一個對象返回True,否則返回False。3.2運算符與表達(dá)式7.同一性運算符和同一性表達(dá)式>>>x=y=2.5>>>z=2.5>>>xisyTrue>>>xiszFalse>>>xisnotzTrue3.2運算符與表達(dá)式位運算是一種對運算對象按二進(jìn)制位進(jìn)行操作的運算。位運算不允許只操作其中的某一位,而是對整個數(shù)據(jù)按二進(jìn)制位進(jìn)行運算。位運算的對象只能是整型數(shù)據(jù),其運算結(jié)果仍是整型。Python語言提供的位運算符主要有:&(按位“與”)、|(按位“或”)、^(按位“異或”)、~(按位“取反”)、<<(“左移”)和>>(“右移”)6種。除~是單目運算符外,其余均是雙目運算符。3.2運算符與表達(dá)式8.位運算符和位運算表達(dá)式&(按位“與”)3.2運算符與表達(dá)式運算規(guī)則為:0&0=0、0&1=0、1&0=0、1&1=1。參與運算的兩個數(shù)均以補碼形式出現(xiàn)。按位“與”運算通常用來對某些位清0或保留某些位。例如把a=123清零,可作a&0運算;b=12901的高八位清零,保留低八位,可作
b&255運算。|(按位“或”)3.2運算符與表達(dá)式運算規(guī)則為:0|0=0、0|1=1、1|0=1、1|1=1。參與運算的兩個數(shù)均以補碼形式出現(xiàn)。按位“或”運算通常用來對某些位置1。例如把a=160的低4位置1,可作a|15運算;把b=3的第0位和第3位置1,其余位不變,可作b|9運算。^(按位“異或”)3.2運算符與表達(dá)式運算規(guī)則為:0^0=0、0^1=1、1^0=1、1^1=0。參與運算的兩個數(shù)均以補碼形式出現(xiàn)。按位“異或”運算通常用來使特定位翻轉(zhuǎn)或保留原值。例如使a=123低4位翻轉(zhuǎn),可作a^15運算;使b=12901保持原值,可作b^0運算?!ò次弧叭》础保?.2運算符與表達(dá)式運算規(guī)則為:~0=1、~1=0。按位“取反”運算通常用來間接地構(gòu)造一個數(shù),以增強程序的可移植性。<<(按位“左移”)運算規(guī)則為:將操作對象各二進(jìn)制位全部左移指定的位數(shù),移出的高位丟棄,空出的低位補0。如a<<4指把a的各二進(jìn)制位向左移動4位,a=57,則0000000000111001(十進(jìn)制57)左移4位后為0000001110010000(十進(jìn)制912)。若左移時丟棄的高位不包含1,則每左移一位,相當(dāng)于給該數(shù)乘以2。>>(按位“右移”)3.2運算符與表達(dá)式運算規(guī)則為:將操作對象各二進(jìn)制位全部右移指定的位數(shù)。移出的低位丟棄,空出的高位對于無符號數(shù)補0。對于有符號數(shù),右移時符號位將隨同移動,空出的高位正數(shù)補0,負(fù)數(shù)補1。如a>>4指把a的各二進(jìn)制位向右移動4位,a=57則0000000000111001(十進(jìn)制57)右移4位后為0000000000000011(十進(jìn)制3)。
每右移一位,相當(dāng)于給該數(shù)除以2,并去掉小數(shù)。3.3組合數(shù)據(jù)類型序列中的每一個元素都有自己的位置編號,可以通過偏移量索引來讀取數(shù)據(jù)。1.序列類型讀取元素方法:序列名[索引]索引范圍:-n~n-1(包含n個元素的序列)3.3組合數(shù)據(jù)類型集合類型中的元素是無序的,無法通過下標(biāo)索引的方法訪問集合類型中的每一個數(shù)值集合中的元素不能重復(fù)集合中的元素類型只能是固定的數(shù)據(jù)類型2.集合類型映射類型是“鍵-值”對的集合元素之間是無序的,通過鍵可以找出該鍵對應(yīng)的值映射類型的典型代表是字典3.映射類型3.3組合數(shù)據(jù)類型-列表是Python中內(nèi)置數(shù)據(jù)類型,是一個元素的有序集合一個列表中的數(shù)據(jù)類型可以各不相同列表中的每一個數(shù)據(jù)稱為元素其所有元素用逗號分割并放在一對中括號“[”和“]”中例如:[1,2,3,4,5]['Python','C','HTML','Java','Perl
']['wade',3.0,81,['bosh','haslem']]>>>a_list=
['physics','chemistry',2017,2.5]>>>b_list=['wade',3.0,81,['bosh','haslem']]>>>c_list=[1,2,(3.0,'helloworld!')]>>>d_list=[]3.3組合數(shù)據(jù)類型-列表1.列表的基本操作列表的創(chuàng)建使用賦值運算符“=”將一個列表賦值給變量即可創(chuàng)建列表對象。>>>a_list=[‘physics’,‘chemistry’,2017,2.5,[0.5,3]]>>>a_list[1]'chemistry'>>>a_list[-1][0.5,3]>>>a_list[5]#下標(biāo)越界Traceback(mostrecentcalllast):File"<pyshell#9>",line1,in<module>
a_list[5]IndexError:listindexoutofrange3.3組合數(shù)據(jù)類型-列表列表元素讀取方法為:列表名[索引]切片操作的方法是:列表名[開始索引:結(jié)束索引:步長]列表切片>>>a_list[1:3]#開始為1,結(jié)束為2,不包括3,步長缺省1['chemistry',2017]>>>a_list[1:-1]['chemistry',2017,2.5]>>>a_list[:3]#左索引缺省為0['physics','chemistry',2017]>>>a_list[1:]#從第一個元素開始截取列表['chemistry',2017,2.5,[0.5,3]]>>>a_list[:]#左右索引均缺省['physics','chemistry',2017,2.5,[0.5,3]]>>>a_list[::2]#左右索引均缺省,步長為2['physics',2017,[0.5,3]]3.3組合數(shù)據(jù)類型-列表a_list=[‘physics’,‘chemistry’,2017,2.5,[0.5,3]](1)使用“+”運算符將一個新列表添加在原列表的尾部增加元素>>>id(a_list)#獲取列表a_list的地址49411096>>>a_list=a_list+[5]>>>a_list['physics','chemistry',2017,2.5,[0.5,3],5]>>>id(a_list)#獲取添加元組時候a_list的地址498449923.3組合數(shù)據(jù)類型-列表a_list=[‘physics’,‘chemistry’,2017,2.5,[0.5,3]](2)使用append()方法向列表尾部添加一個新的元素
>>>a_list.append('Python')
>>>a_list['physics','chemistry',2017,2.5,[0.5,3],5,'Python'](3)使用extend()方法將一個新列表添加在原列表的尾部>>>a_list.extend([2017,'C'])>>>a_list['physics',2017,'chemistry',2.5,[0.5,3],5,'Python',2017,'C'](4)使用insert()方法將一個元素插入到列表的指定位置>>>
a_list.insert(3,3.5)>>>a_list['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C']3.3組合數(shù)據(jù)類型-列表a_list=[‘physics’,‘chemistry’,2017,2.5,[0.5,3],5](1)使用index()方法可以獲取指定元素首次出現(xiàn)的下標(biāo)一般形式:index(value,[,start,[,end]])檢索元素>>>a_list.index(2017)1>>>a_list.index(2017,2)8>>>a_list.index(2017,5,7)Traceback(mostrecentcalllast):File"<pyshell#10>",line1,in<module>a_list.index(2017,5,7)ValueError:2017isnotinlist3.3組合數(shù)據(jù)類型-列表a_list=['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C']>>>5ina_listTrue>>>0.5ina_listFalse3.3組合數(shù)據(jù)類型-列表(2)使用count()方法統(tǒng)計列表中指定元素出現(xiàn)的次數(shù)>>>a_list.count(2017)2>>>a_list.count([0.5,3])1>>>a_list.count(0.5)
0(3)使用in運算符檢索某個元素是否在該列表中a_list=['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C']刪除元素>>>b_list=[10,7,1.5]>>>b_list[10,7,1.5]>>>delb_list>>>b_listTraceback(mostrecentcalllast):File"<pyshell#42>",line1,in<module>
b_listNameError:name'b_list'isnotdefined3.3組合數(shù)據(jù)類型-列表(1)使用del命令刪除列表中指定位置的元素>>>dela_list[2]>>>a_list['physics',2017,3.5,2.5,[0.5,3],5,'Python',2017,'C']del命令也可以直接刪除整個列表a_list=['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C']>>>a_list.remove(2017)>>>a_list['physics',3.5,2.5,[0.5,3],5,'Python',2017,'C']>>>a_list.remove(2017)>>>a_list['physics',3.5,2.5,[0.5,3],5,'Python','C']>>>a_list.remove(2017)Traceback(mostrecentcalllast):File"<pyshell#30>",line1,in<module>
a_list.remove(2017)ValueError:list.remove(x):xnotinlist3.3組合數(shù)據(jù)類型-列表(2)使用remove()方法刪除首次出現(xiàn)的指定元素a_list=['physics',2017,'chemistry',3.5,2.5,[0.5,3],5,'Python',2017,'C']2.列表的常用函數(shù)cmp()格式:cmp(列表1,列表2)在Python3.x中,不再支持cmp()函數(shù),可以直接使用關(guān)系運算符來比較數(shù)值或列表。>>>[123,'Bsaic']>[123,'Python']False>>>[1,2,3]==[1,2,3]True3.3組合數(shù)據(jù)類型-列表>>>cmp([1,2,5],[1,2,3])1>>>cmp([1,2,3],[1,2,3])0>>>cmp([123,'Bsaic'],[123,'Python'])-1>>>a_list=['physics','chemistry',2017,2.5,[0.5,3]]>>>len(a_list)5>>>len([1,2.0,'hello'])3>>>a_list=['123','xyz','zara','abc']>>>max(a_list)'zara'>>>min(a_list)'123'3.3組合數(shù)據(jù)類型-列表len()格式:len(列表)max()和min()格式:max(列表),min(列表)>>>a_list=[23,59,-1,2.5,39]>>>sum(a_list)122.5>>>b_list=['123','xyz','zara','abc']>>>sum(b_list)Traceback(mostrecentcalllast):File"<pyshell#11>",line1,in<module>sum(b_list)TypeError:unsupportedoperandtype(s)for+:'int'and'str'3.3組合數(shù)據(jù)類型-列表sum()格式:sum(列表)>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>sorted(a_list,reverse=True)[99,98,95,95,80,71,65,48,35,18]>>>sorted(a_list,reverse=False)[18,35,48,65,71,80,95,95,98,99]3.3組合數(shù)據(jù)類型-列表sorted()格式:sorted(列表)功能:對列表進(jìn)行排序,默認(rèn)是按照升序排序。該方法不會改變原列表的順序。>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>sorted(a_list)[18,35,48,65,71,80,95,95,98,99]>>>a_list[80,48,35,95,98,65,99,95,18,71]降序排序:在sorted()函數(shù)的列表參數(shù)后面增加一個reverse參數(shù),其值等于True表示降序排序,等于Flase表示升序排序。>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>a_list.sort(reverse=True)>>>a_list[99,98,95,95,80,71,65,48,35,18]>>>a_list.sort(reverse=False)>>>a_list[18,35,48,65,71,80,95,95,98,99]3.3組合數(shù)據(jù)類型-列表sort()格式:list.sort()功能:對列表進(jìn)行排序,排序后的新列表會覆蓋原列表,默認(rèn)為升序排序。>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>a_list.sort()>>>a_list[18,35,48,65,71,80,95,95,98,99]降序排序:在sort()方法中增加一個reverse參數(shù)>>>a_list=[80,48,35,95,98,65,99,95,18,71]>>>a_list.reverse()>>>a_list
[71,18,95,99,65,98,95,35,48,80]3.3組合數(shù)據(jù)類型-列表reverse()格式:list.reverse()功能:對list列表中的元素進(jìn)行翻轉(zhuǎn)存放,不會對原列表進(jìn)行排序。方法功能list.append(obj)在列表末尾添加新的對象list.extend(seq)在列表末尾一次性追加另一個序列中的多個值list.insert(index,obj)將對象插入列表list.index(obj)從列表中找出某個值第一個匹配項的索引位置list.count(obj)統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)list.remove(obj)移除列表中某個值的第一個匹配項list.pop(obj=list[-1])移除列表中的一個元素,并返回該元素的值sort()對原列表進(jìn)行排序reverse()反向存放列表元素cmp(list1,list2)比較兩個列表的元素len(list)求列表元素個數(shù)max(list)返回列表元素的最大值min(list)返回列表元素的最小值list(seq)將元組轉(zhuǎn)換為列表sum(list)對數(shù)值型列表元素求和列表基本操作及常用函數(shù)3.3組合數(shù)據(jù)類型-列表3.列表應(yīng)用舉例【例6.1】從鍵盤上輸入一批數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行逆置,最后按照逆置后的結(jié)果輸出。分析:將輸入的數(shù)據(jù)存放在列表中,將列表的所有元素鏡像對調(diào),即第一個與最后一個對調(diào),第二個與倒數(shù)第二個對調(diào),……。b_list=input("請輸入數(shù)據(jù):")a_list=[]foriinb_list.split(','):a_list.append(i)print("逆置前數(shù)據(jù)為:",a_list)n=len(a_list)foriinrange(n//2):a_list[i],a_list[n-i-1]=a_list[n-i-1],a_list[i]print("逆置后數(shù)據(jù)為:",a_list)3.3組合數(shù)據(jù)類型-列表【例6.2】編寫程序,求出1000以內(nèi)的所有完數(shù),并按下面的格式輸出其因子:6itsfactorsare1,2,3。分析:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6就是一個完數(shù),因為6的因子有1、2、3,且6=1+2+3。3.3組合數(shù)據(jù)類型-列表程序代碼:m=1000forainrange(2,m+1):s=0L1=[]foriinrange(1,a):ifa%i==0:s+=i
L1.append(i)ifs==a:print("%ditsfactorsare:"%a,L1)運行結(jié)果:6itsfactorsare:[1,2,3]28itsfactorsare:[1,2,4,7,14]496itsfactorsare:[1,2,4,8,16,31,62,124,248]元組(tuple)的定義形式與列表類似,區(qū)別在于定義元組時所有元素放在一對圓括號“(”和“)”中。例如:
(1,2,3,4,5)('Python','C','HTML','Java','Perl
')3.3組合數(shù)據(jù)類型-元組1.元組的基本操作>>>a_tuple=
('physics','chemistry',2017,2.5)>>>b_tuple=(1,2,(3.0,'helloworld!'))>>>c_tuple=('wade',3.0,81,['bosh','haslem'])>>>d_tuple=()>>>x=(1)>>>x1>>>y=(1,)>>>y(1,)
>>>z=(1,2)>>>z(1,2)3.3組合數(shù)據(jù)類型-元組元組的創(chuàng)建賦值運算符“=”將一個元組賦值給變量即可創(chuàng)建元組對象。創(chuàng)建只包含一個1個元素的元組方法:>>>a_tuple=('physics','chemistry',2017,2.5)>>>a_tuple[1]'chemistry'>>>a_tuple[-1]2.5>>>a_tuple[5]Traceback(mostrecentcalllast):File"<pyshell#14>",line1,in<module>
a_tuple[5]IndexError:tupleindexoutofrange3.3組合數(shù)據(jù)類型-元組讀取元素方法為:元組名[索引]>>>a_tuple[1:3]('chemistry',2017)>>>a_tuple[::3]('physics',2.5)元組切片元組也可以進(jìn)行切片操作,方法與列表類似>>>a_tuple.index(2017)2>>>a_tuple.index('physics',-3)Traceback(mostrecentcalllast):File"<pyshell#24>",line1,in<module>a_tuple.index('physics',-3)ValueError:tuple.index(x):xnotintuple3.3組合數(shù)據(jù)類型-元組檢索元素(1)使用index()方法可以獲取指定元素首次出現(xiàn)的下標(biāo)>>>'chemistry'ina_tupleTrue>>>0.5ina_tupleFalse(2)使用count()方法統(tǒng)計元組中指定元素出現(xiàn)的次數(shù)>>>a_tuple.count(2017)1>>>a_tuple.count(1)0(3)使用in運算符檢索某個元素是否在該元組中。a_tuple=('physics','chemistry',2017,2.5)>>>dela_tuple>>>a_tupleTraceback(mostrecentcalllast):File"<pyshell#30>",line1,in<module>
a_tupleNameError:name'a_tuple'isnotdefined3.3組合數(shù)據(jù)類型-元組刪除元組使用del語句刪除元組,刪除之后對象就不存在了,再次訪問會出錯。2.列表與元組的區(qū)別及轉(zhuǎn)換列表與元組的區(qū)別(1)元組的處理速度和訪問速度比列表快。如果定義了一系列常量值,主要對其進(jìn)行遍歷或者類似用途,而不需要對其元素進(jìn)行修改,這種情況一般使用元組。可以認(rèn)為元組對不需要修改的數(shù)據(jù)進(jìn)行了“寫保護(hù)”,可以使代碼更安全。(2)作為不可變序列,元組(包含數(shù)值、字符串和其他元組的不可變數(shù)據(jù))可用作字典的鍵,而列表不可以充當(dāng)字典的鍵,因為列表是可變的。3.3組合數(shù)據(jù)類型-元組列表與元組的轉(zhuǎn)換>>>a_list=['physics','chemistry',2017,2.5,[0.5,3]]>>>tuple(a_list)('physics','chemistry',2017,2.5,[0.5,3])>>>type(a_list)<class'list'>>>>b_tuple=(1,2,(3.0,'helloworld!'))>>>list(b_tuple)[1,2,(3.0,'helloworld!')]>>>type(b_tuple)<class'tuple'>3.3組合數(shù)據(jù)類型-元組3.元組應(yīng)用>>>v=('Python',2,True)>>>(x,y,z)=v>>>x'Python'>>>y2>>>zTrue3.3組合數(shù)據(jù)類型-元組利用元組來一次性給多個變量賦值。Python中的字符串用一對單引號(')或雙引號(")括起來。例如:>>>'Python' 'Python'>>>"PythonProgram"'PythonProgram'3.3組合數(shù)據(jù)類型-字符串1.三重引號字符串>>>'''Pythonisan"object-oriented"open-sourceprogramminglanguage''''Pythonisan"object-oriented"\nopen-sourceprogramminglanguage'2.字符串基本操作>>>str1="Hello">>>str1"Hello">>>str2='Program\n\'Python\'' >>>str2"Program\n'Python'"3.3組合數(shù)據(jù)類型-字符串字符串創(chuàng)建使用賦值運算符“=”將一個字符串賦值給變量字符串元素讀取方法為:字符名[索引]>>>str1[0]'H'>>>str1[-1]‘o’>>>str="PythonProgram">>>str[0:5:2] 'Pto'>>>str[:]'PythonProgram'>>>str[-1:-20]''
>>>str[-1:-20:-1]'margorPnohtyP'3.3組合數(shù)據(jù)類型-字符串字符串分片方法:字符串名[開始索引:結(jié)束索引:步長]>>>"Hello"+"World"'HelloWorld'>>>"P"+"y"+"t"+"h"+"o"+"n"+"Program"'PythonProgram'將字符串和數(shù)值類型數(shù)據(jù)進(jìn)行連接時,需要使用str()函數(shù)將數(shù)值數(shù)據(jù)轉(zhuǎn)換成字符串,然后再進(jìn)行連接運算。>>>"Python"+str(3)'Python3'連接使
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鹽漬裙帶葉項目可行性研究報告
- 2025年桑拿服項目可行性研究報告
- 2025至2031年中國異型軋輥行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國套裝風(fēng)炮行業(yè)投資前景及策略咨詢研究報告
- 廣西2025年廣西生態(tài)工程職業(yè)技術(shù)學(xué)院招聘筆試歷年參考題庫附帶答案詳解
- 2025年劍桿綜框項目可行性研究報告
- 2025年中央供氧系統(tǒng)項目可行性研究報告
- 2025至2030年高錳鐵項目投資價值分析報告
- 2025至2030年野外型延長放大器項目投資價值分析報告
- 2025至2030年中國金屬噴漆活動鉛筆數(shù)據(jù)監(jiān)測研究報告
- 科創(chuàng)板知識測評20個題目的答案
- 2023年湖北成人學(xué)位英語考試真題及答案
- 走好群眾路線-做好群眾工作(黃相懷)課件
- NY∕T 4001-2021 高效氯氟氰菊酯微囊懸浮劑
- 《社會主義市場經(jīng)濟(jì)理論(第三版)》第七章社會主義市場經(jīng)濟(jì)規(guī)則論
- 漢聲數(shù)學(xué)圖畫電子版4冊含媽媽手冊文本不加密可版本-29.統(tǒng)計2500g早教
- 中國監(jiān)察制度史
- 搬家公司簡介(15個范本)
- 典范英語-2備課材料2a課件
- 抽水蓄能輔助洞室施工方案
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter7 Searching
評論
0/150
提交評論