Python語言程序設(shè)計(jì)(第2版) 課件 第1章 Python語言基礎(chǔ)_第1頁
Python語言程序設(shè)計(jì)(第2版) 課件 第1章 Python語言基礎(chǔ)_第2頁
Python語言程序設(shè)計(jì)(第2版) 課件 第1章 Python語言基礎(chǔ)_第3頁
Python語言程序設(shè)計(jì)(第2版) 課件 第1章 Python語言基礎(chǔ)_第4頁
Python語言程序設(shè)計(jì)(第2版) 課件 第1章 Python語言基礎(chǔ)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python語言程序設(shè)計(jì)(第2版)第1章Python語言基礎(chǔ)Python語言的發(fā)展歷史Python程序的運(yùn)行開發(fā)環(huán)境常量與變量Python數(shù)據(jù)類型常用系統(tǒng)函數(shù)基本運(yùn)算1.1.1Python語言的發(fā)展歷史Python由荷蘭的GuidovanRossum設(shè)計(jì)。Python第一個(gè)版本于1991年初公開發(fā)行。Python2.0于2000年10月發(fā)布,增加了許多新的語言特性。Python3.0于2008年12月發(fā)布,此版本不完全兼容Python2.0。1.1Python語言概述1.1.2Python語言的特點(diǎn)1.Python語言的優(yōu)勢(1)語法簡潔。組成一個(gè)Python程序也沒有太多的語法細(xì)節(jié)和規(guī)則要求,“信手拈來”就可以組成一個(gè)程序。(2)程序可讀性好。通過強(qiáng)制程序縮進(jìn),Python語言確實(shí)使得程序具有很好的可讀性,同時(shí)Python的縮進(jìn)規(guī)則是也有利于程序員養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣。(3)豐富的數(shù)據(jù)類型。除了基本的數(shù)值類型外,Python語言還提供了字符串、列表、元組、字典和集合等豐富的復(fù)合數(shù)據(jù)類型。(4)開源的語言。各種社區(qū)提供了成千上萬不同功能的開源函數(shù)模塊,而且還在不斷地發(fā)展,這為基于Python語言的快速開發(fā)提供了強(qiáng)大支持。(5)解釋型的語言。用Python語言編寫的程序不需要編譯成二進(jìn)制代碼,而可以直接運(yùn)行源代碼。(6)面向?qū)ο蟮恼Z言。Python語言既可以面向過程,也可以面向?qū)ο?,支持靈活的程序設(shè)計(jì)方式。2.Python語言的局限性Python程序的運(yùn)行速度比較慢。1.1.3Python語言的應(yīng)用領(lǐng)域1.系統(tǒng)維護(hù)與管理在Windows系統(tǒng)下,通過使用pywin32模塊提供的WindowsAPI函數(shù)接口,就可以編寫與Windows系統(tǒng)底層功能相關(guān)的Python程序。利用py2exe模塊可以將Python程序轉(zhuǎn)換為.exe可執(zhí)行程序,使得Python程序可以脫離Python系統(tǒng)環(huán)境來運(yùn)行。2.科學(xué)計(jì)算與數(shù)據(jù)可視化Python中用于科學(xué)計(jì)算與數(shù)據(jù)可視化的模塊有很多,例如NumPy、SciPy、SymPy、Matplotlib等,涉及的應(yīng)用領(lǐng)域包括數(shù)值計(jì)算、符號(hào)計(jì)算、二維圖表、三維數(shù)據(jù)可視化等。

3.?dāng)?shù)據(jù)庫應(yīng)用Python數(shù)據(jù)庫模塊有很多,例如,可以通過內(nèi)置的sqlite3模塊訪問SQLite數(shù)據(jù)庫,使用pywin32模塊訪問Access數(shù)據(jù)庫,使用pymysql模塊訪問MySQL數(shù)據(jù)庫,使用pywin32和pymssql模塊來訪問SQLSever數(shù)據(jù)庫。4.多媒體應(yīng)用PyMedia模塊是一個(gè)用于多媒體操作的Python模塊,可以對(duì)包括WAV、MP3、AVI等多媒體格式文件進(jìn)行編碼、解碼和播放;PyOpenGL模塊封裝了OpenGL應(yīng)用程序編程接口,通過該模塊可在Python程序中集成二維或三維圖形;PIL(PythonImagingLibrary,Python圖形庫)為Python提供了強(qiáng)大的圖像處理功能,并提供廣泛的圖像文件格式支持。5.網(wǎng)絡(luò)應(yīng)用Python語言提供了socket模塊,對(duì)Socket接口進(jìn)行了二次封裝,支持Socket接口的訪問;還提供了urllib、cookielib、httplib、scrapy等大量模塊,用于對(duì)網(wǎng)頁內(nèi)容進(jìn)行讀取和處理;可以使用Python語言編寫CGI程序,也可以把Python程序嵌入到網(wǎng)頁中運(yùn)行;Python語言還支持Web網(wǎng)站開發(fā),比較流行的開發(fā)框架有web2py、django等。6.電子游戲應(yīng)用Pygame就是用來開發(fā)電子游戲軟件的Python模塊,在SDL庫的基礎(chǔ)上開發(fā),可以支持多個(gè)操作系統(tǒng)。使用Pygame模塊,可以在Python程序中創(chuàng)建功能豐富的游戲和多媒體程序。7.?dāng)?shù)據(jù)科學(xué)和人工智能應(yīng)用Pandas是基于NumPy的數(shù)據(jù)處理和分析工具,NLTK用于自然語言處理,jieba用于中文分詞,Wordcloud可以生成詞云圖;Scikit-learn是常用的機(jī)器學(xué)習(xí)模塊;TensorFlow、PyTorch則是常見的深度學(xué)習(xí)框架;Keras是一個(gè)用Python編寫的開源人工神經(jīng)網(wǎng)絡(luò)庫。1.2.1Python系統(tǒng)的下載與安裝從Python官網(wǎng)下載Python系統(tǒng)文件。選擇基于Windows操作系統(tǒng)的當(dāng)時(shí)最新版本進(jìn)行下載。下載完成后,運(yùn)行系統(tǒng)文件,進(jìn)入Python系統(tǒng)安裝界面。選中“Addpython.exetoPATH”復(fù)選框,并使用默認(rèn)的安裝路徑。安裝完成后單擊“Close”按鈕即可。1.2Python語言的開發(fā)環(huán)境1.2.2Python程序的運(yùn)行1.啟動(dòng)Python解釋器1)命令行形式的Python解釋器在Windows系統(tǒng)桌面選擇“開始”菜單中的“Python3.11”→“Python3.11(64-bit)”命令,即啟動(dòng)命令行形式的Python解釋器。2)圖形用戶界面形式的Python解釋器在Windows系統(tǒng)桌面選擇“開始”菜單中的“Python3.11”→“IDLE(Python3.1164-bit)”命令來啟動(dòng)圖形用戶界面形式的Python解釋器。2.Python的運(yùn)行方式1)Python的命令運(yùn)行方式啟動(dòng)Python解釋器后,可以直接在其提示符(>>>)后輸入語句。>>>print("Hello,World!")Hello,World!>>>print(1+3/4)1.752)Python的程序運(yùn)行方式在圖形用戶界面形式的Python解釋器窗口中選擇“File”→“NewFile”命令,或按Ctrl+N快捷鍵,打開Python程序編輯窗口。在其中鍵入程序的全部語句,然后存盤。1.常量在程序運(yùn)行過程中,其值不能改變的數(shù)據(jù)對(duì)象稱為常量(constant)。常量按其值的表示形式區(qū)分它的類型。例如,0、435、-78是整型常量,-5.8、3.14159、1.0是實(shí)型常量(也稱作浮點(diǎn)型常量),'410083'、'Python'是字符串常量。1.3常量與變量2.變量的一般概念在高級(jí)語言中,變量(variable)可以看作是一個(gè)特定的內(nèi)存存儲(chǔ)區(qū),該存儲(chǔ)區(qū)由一定個(gè)數(shù)字節(jié)的內(nèi)存單元組成,并可以通過變量的名字來訪問。高級(jí)語言中的變量具有變量名、變量值和變量地址三個(gè)屬性。變量在它存在期間,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,以存放變量的值。3.Python變量1)變量的數(shù)據(jù)類型Python語言是一種動(dòng)態(tài)類型語言,變量的數(shù)據(jù)類型是在給變量賦值時(shí)確定,對(duì)變量的每一次賦值,都可能改變變量的類型??梢允褂肞ython內(nèi)置函數(shù)type()來查詢變量的類型。2)對(duì)象及其引用Python語言采用基于值的內(nèi)存管理方式,不同的值分配不同的內(nèi)存空間。Python變量并不是某一個(gè)固定內(nèi)存單元的標(biāo)識(shí),而是對(duì)內(nèi)存中存儲(chǔ)的某個(gè)數(shù)據(jù)的引用(reference),這個(gè)引用是可以動(dòng)態(tài)改變的。4.Python標(biāo)識(shí)符在Python中,標(biāo)識(shí)符由字母、數(shù)字和下劃線(_)組成,但不能以數(shù)字開頭,標(biāo)識(shí)符中的字母是區(qū)分大小寫的。例如,abc、a_b_c、Student_ID都是合法的標(biāo)識(shí)符,sum、Sum、SUM代表不同的標(biāo)識(shí)符。單獨(dú)的下劃線(_)是一個(gè)特殊變量,用于表示上一次運(yùn)算的結(jié)果。

5.Python關(guān)鍵字所謂關(guān)鍵字(keyword),就是Python語言中事先定義的、具有特定含義的標(biāo)識(shí)符,有時(shí)又稱保留字。關(guān)鍵字不允許另作它用,否則執(zhí)行時(shí)會(huì)出現(xiàn)語法錯(cuò)誤。可以在使用import語句導(dǎo)入keyword模塊后使用print(keyword.kwlist)語句查看所有Python關(guān)鍵字。>>>importkeyword>>>print(keyword.kwlist)1.4.1數(shù)值型1.整型數(shù)據(jù)整型數(shù)據(jù)即整數(shù),不帶小數(shù)點(diǎn),但可以有正號(hào)或負(fù)號(hào)。在Python中,整型數(shù)據(jù)的值在計(jì)算機(jī)內(nèi)的表示不是固定長度的,只要內(nèi)存許可,整數(shù)可以擴(kuò)展到任意長度,整數(shù)的取值范圍幾乎包括了全部整數(shù)(無限大),這給大數(shù)據(jù)的計(jì)算帶來便利。

1.4Python數(shù)據(jù)類型Python的整型常量有4種表示形式:(1)十進(jìn)制整數(shù)。(2)二進(jìn)制整數(shù)。它以0b或0B(數(shù)字0加字母b或B)開頭,后接數(shù)字0,1的整數(shù)。(3)八進(jìn)制整數(shù)。它是以0o或0O(數(shù)字0加小寫字母o或大寫字母O)開頭,后接數(shù)字0~7的整數(shù)。(4)十六進(jìn)制整數(shù)。它是以0x或0X開頭,后接0~9和A~F(或用小寫字母)字符的整數(shù)。2.浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)表示一個(gè)實(shí)數(shù),有兩種表示形式:(1)十進(jìn)制小數(shù)形式。它由數(shù)字和小數(shù)點(diǎn)組成,如3.23、34.0、0.0等。浮點(diǎn)型數(shù)據(jù)允許小數(shù)點(diǎn)后面沒有任何數(shù)字,表示小數(shù)部分為0,如34.表示34.0。(2)指數(shù)形式。指數(shù)形式即用科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)。例如,45e-5、45e-6、9.34e2是合法的浮點(diǎn)型常量,分別代表45×10-5、45×10-6、9.34×102。

3.復(fù)數(shù)型數(shù)據(jù)復(fù)數(shù)類型數(shù)據(jù)的形式為:a+bJ其中a是復(fù)數(shù)的實(shí)部,b是復(fù)數(shù)的虛部,J表示-1的平方根(虛數(shù)單位)。J也可以寫成小寫j,注意不是數(shù)學(xué)上的i??梢酝ㄟ^x.real和x.imag來分別獲取復(fù)數(shù)x的實(shí)部和虛部,結(jié)果都是浮點(diǎn)型。1.4.2字符串型1.Python標(biāo)準(zhǔn)字符串在Python中定義一個(gè)標(biāo)準(zhǔn)字符串可以使用單引號(hào)、雙引號(hào)和三引號(hào)(三個(gè)單引號(hào)或三個(gè)雙引號(hào)),這使得Python輸入文本更方便。例如,當(dāng)字符串的內(nèi)容中包含雙引號(hào)時(shí),就可以用單引號(hào)定義,反之亦然。用單引號(hào)或雙引號(hào)括起來的字符串必須在一行內(nèi)表示,這是最常見的表示字符串的方法。而用三引號(hào)括起來的字符串可以是多行的。2.轉(zhuǎn)義字符轉(zhuǎn)義字符以反斜杠“\”開頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱轉(zhuǎn)義字符,主要用來表示那些用一般字符不便于表示的控制代碼。例如,“\n”表示以后的輸出從下一行開始;“\r”表示對(duì)當(dāng)前行作重疊輸出(只回車,不換行);字符“\t”是制表符,其作用是使當(dāng)前輸出位置橫向跳至一個(gè)輸出區(qū)的第一列。3.基本的字符串函數(shù)1)eval()函數(shù)其調(diào)用格式為:eval(字符串)eval()函數(shù)的作用是把字符串的內(nèi)容作為對(duì)應(yīng)的Python表達(dá)式來求值。2)len()函數(shù)len()函數(shù)返回字符串的長度,即字符串中所包含的字符個(gè)數(shù),其調(diào)用格式為:len(字符串)1.4.3布爾型在Python中,布爾型數(shù)據(jù)有True和False,分別代表邏輯真和邏輯假。Python的布爾表達(dá)式包括關(guān)系運(yùn)算表達(dá)式和邏輯運(yùn)算表達(dá)式,通常用來在程序中表示條件,條件滿足時(shí)結(jié)果為True,不滿足時(shí)結(jié)果為False。在Python中,邏輯值True和False實(shí)際上是分別用整型值1和0參與運(yùn)算。例如:>>>x=False>>>x+(5>4)11.4.4復(fù)合數(shù)據(jù)類型列表、元組、字典和集合類型的數(shù)據(jù)包含多個(gè)相互關(guān)聯(lián)的數(shù)據(jù)元素,所以稱它們?yōu)閺?fù)合數(shù)據(jù)類型。字符串其實(shí)也是一種復(fù)合數(shù)據(jù),其元素是單個(gè)字符。列表、元組和字符串是有順序的數(shù)據(jù)元素的集合體,稱作序列(sequence)。序列可以通過各數(shù)據(jù)元素在序列中的位置編號(hào)(索引)來訪問數(shù)據(jù)元素。字典和集合屬于無順序的數(shù)據(jù)集合體,不能通過位置編號(hào)來訪問數(shù)據(jù)元素。1.列表列表(list)是寫在中括號(hào)之間、用逗號(hào)分隔的元素序列,元素的類型可以不相同,可以是數(shù)字、單個(gè)字符、字符串甚至可以包含列表(所謂嵌套)。例如:>>>mlist=['brenden',45.3,911,'john',32]與Python字符串不同的是,列表中的元素是可以改變的。例如:>>>a=[1,2,3,4,5,6]>>>a[0]=9>>>a[9,2,3,4,5,6]2.元組元組(tuple)是寫在小括號(hào)之間、用逗號(hào)隔開的元素序列。元組中的元素類型也可以不相同。元組與列表類似,不同之處在于元組的元素不能修改,相當(dāng)于只讀列表。例如:>>>mtuple=('brenden',45.3,911,'john',32)要注意一些特殊元組的表示方法。空的圓括號(hào)表示空元組。當(dāng)元組只有一個(gè)元素時(shí),必須以逗號(hào)結(jié)尾。任何一組以逗號(hào)分隔的對(duì)象,當(dāng)省略標(biāo)識(shí)序列的括號(hào)時(shí),默認(rèn)為元組。例如:>>>2,3,4(2,3,4)元組與字符串類似,元素不能二次賦值。其實(shí),可以把字符串看作一種特殊的元組。元組和列表有幾點(diǎn)重要的區(qū)別。列表元素用中括號(hào)[]括起來,且元素的個(gè)數(shù)及元素的值可以改變。元組元素用小括號(hào)()括起來,且不可以更改。元組可以看成是只讀的列表。3.字典字典(dictionary)是寫在大括號(hào)之間、用逗號(hào)分隔的元素集合,其元素由關(guān)鍵字(key,也稱作鍵)和關(guān)鍵字對(duì)應(yīng)的值(value)組成,通過關(guān)鍵字來存取的字典中的元素。列表和元組是有序的對(duì)象結(jié)合,字典是無序的對(duì)象集合。字典是一種映射類型(mappingtype),它是一個(gè)無序的“關(guān)鍵字:值”對(duì)集合。關(guān)鍵字必須使用不可變類型,也就是說列表和包含可變類型的元組不能做索引關(guān)鍵字。在同一個(gè)字典中,關(guān)鍵字還必須互不相同。例如:>>>dict={'name':'brenden','code':410012,'dept':'sales'}4.集合集合(set)是一個(gè)無序且包含不重復(fù)元素的數(shù)據(jù)類型?;竟δ苁沁M(jìn)行成員關(guān)系測試和消除重復(fù)元素。可以使用大括號(hào)或者set()函數(shù)創(chuàng)建集合類型,注意:創(chuàng)建一個(gè)空集合必須用set()而不是{},因?yàn)閧}是用來創(chuàng)建一個(gè)空字典。>>>student={'Tom','Jim','Mary','Tom','Jack','Rose'}Python的標(biāo)準(zhǔn)庫包含很多模塊,每個(gè)模塊中定義了很多有用的函數(shù),這些函數(shù)稱為系統(tǒng)函數(shù)。例如,數(shù)學(xué)庫模塊(math)提供了很多數(shù)學(xué)運(yùn)算函數(shù),復(fù)數(shù)模塊(cmath)提供了用于復(fù)數(shù)運(yùn)算的函數(shù),隨機(jī)數(shù)模塊(random)提供了用來生成隨機(jī)數(shù)的函數(shù),時(shí)間(time)和日歷(calendar)模塊提供了能處理日期和時(shí)間的函數(shù)。1.5常用系統(tǒng)函數(shù)在調(diào)用系統(tǒng)函數(shù)之前,先要使用import語句導(dǎo)入相應(yīng)的模塊,格式如下:import模塊名還有一種導(dǎo)入模塊的方法,格式如下:from模塊名import函數(shù)名如果希望導(dǎo)入模塊中的所有函數(shù)定義,則函數(shù)名用“*”。格式如下:from模塊名import*1.5.1常用模塊函數(shù)1.math模塊函數(shù)math模塊主要處理數(shù)學(xué)相關(guān)的運(yùn)算。2.cmath模塊函數(shù)cmath模塊函數(shù)跟math模塊函數(shù)基本一致,包括圓周率、自然對(duì)數(shù)的底,還有復(fù)數(shù)的冪指數(shù)、對(duì)數(shù)函數(shù)、平方根函數(shù)、三角函數(shù)等。cmath模塊函數(shù)名和math模塊函數(shù)名一樣,只是math模塊對(duì)實(shí)數(shù)運(yùn)算進(jìn)行支持,cmath模塊對(duì)復(fù)數(shù)運(yùn)算進(jìn)行支持。3.random模塊函數(shù)1)隨機(jī)數(shù)種子2)隨機(jī)挑選和排序3)生成隨機(jī)數(shù)4.time模塊函數(shù)例如,time()函數(shù)返回當(dāng)前時(shí)間的時(shí)間戳。5.calendar模塊函數(shù)日歷(calendar)模塊提供與日歷相關(guān)的功能。在默認(rèn)情況下,日歷把星期一作為一周的第一天,星期日為最后一天。要改變這種設(shè)置,可以調(diào)用setfirstweekday()函數(shù)。1.5.2常用內(nèi)置函數(shù)Python內(nèi)置函數(shù)包含在模塊builtins中,該模塊在啟動(dòng)Python解釋器時(shí)自動(dòng)裝入內(nèi)存,而其他的模塊函數(shù)都要等使用import語句導(dǎo)入時(shí)才會(huì)裝入內(nèi)存。內(nèi)置函數(shù)隨著Python解釋器的運(yùn)行而創(chuàng)建,在程序中可以隨時(shí)調(diào)用這些函數(shù)。前面用到的print()函數(shù)、type()、id()函數(shù)都是常見的內(nèi)置函數(shù)。1.range()函數(shù)range()函數(shù)的調(diào)用格式是:range([start,]end[,step])range()函數(shù)產(chǎn)生的數(shù)字序列從start開始,默認(rèn)是從0開始;序列到end結(jié)束,但不包含end;如果指定了可選的步長step,則序列按步長增加,默認(rèn)為1。例如:>>>range(2)#產(chǎn)生可迭代對(duì)象range(0,2)2.?dāng)?shù)值運(yùn)算函數(shù)Python有些內(nèi)置函數(shù)用于數(shù)值運(yùn)算。abs(x):返回x的絕對(duì)值,結(jié)果保持x的類型。x為復(fù)數(shù)時(shí)返回復(fù)數(shù)的模。pow(x,y[,z]):省略z時(shí),返回x的y次冪,結(jié)果保持x或y的類型。如果使用了參數(shù)z,其結(jié)果是x的y次方再對(duì)z求余數(shù)。round(x[,n]):用于對(duì)浮點(diǎn)數(shù)進(jìn)行四舍五入運(yùn)算,返回值為浮點(diǎn)數(shù)。它有一個(gè)可選的小數(shù)位數(shù)參數(shù)。divmod(x,y):把除法和取余運(yùn)算結(jié)合起來,返回一個(gè)包含商和余數(shù)的元組。3.Python系統(tǒng)的幫助信息查看Python幫助信息可以使用內(nèi)置函數(shù)dir()和help()。dir()函數(shù)的調(diào)用方法很簡單,只需把想要查詢的對(duì)象加到括號(hào)中就可以了,它返回一個(gè)列表,其中包含要查詢對(duì)象的所有屬性和方法。查看某個(gè)對(duì)象的幫助信息可以用help()函數(shù)。1.6.1算術(shù)運(yùn)算1.算術(shù)運(yùn)算符與算術(shù)表達(dá)式Python的算術(shù)運(yùn)算符有:+(加)、-(減)、*(乘)、/(除)、//(整除)、%(求余)、*

溫馨提示

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

評(píng)論

0/150

提交評(píng)論