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

下載本文檔

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

文檔簡介

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

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

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

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

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

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論