《地下空間工程智能建造概論》課件 3-Python語言_第1頁
《地下空間工程智能建造概論》課件 3-Python語言_第2頁
《地下空間工程智能建造概論》課件 3-Python語言_第3頁
《地下空間工程智能建造概論》課件 3-Python語言_第4頁
《地下空間工程智能建造概論》課件 3-Python語言_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python語言特點如下:面向?qū)ο?。Python既支持面向過程的函數(shù)編程也支持面向?qū)ο蟮某橄缶幊?。?nèi)置數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)由相互之間存在一種或多種關(guān)系的數(shù)據(jù)元素以及元素之間的關(guān)系組成。簡單易學。Python的語法簡單優(yōu)雅,代表了一種極簡主義的設(shè)計思想。語言健壯。Python提供了異常處理機制,能捕獲程序的異常情況。1

可移植性。Python的開源本質(zhì)使得它已經(jīng)被移植在許多平臺上(經(jīng)過改動使它能夠在不同平臺上工作)。易擴展性。Python出于一種自由的設(shè)計思想,在Python中可以通過封裝實現(xiàn)私有、公有、抽象這些設(shè)定。動態(tài)性。ython的動態(tài)性和多態(tài)性是Python語言簡潔靈活的基礎(chǔ)。解釋型。Python程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。2

Python作為一種高級通用語言,可以應(yīng)用在人工智能、數(shù)據(jù)分析、網(wǎng)絡(luò)爬蟲、金融量化、云計算、Web開發(fā)等眾多領(lǐng)域。1.數(shù)據(jù)分析

在大量數(shù)據(jù)的基礎(chǔ)上,結(jié)合科學計算、機器學習等技術(shù)對數(shù)據(jù)進行清洗、去重、規(guī)格化和針對性的分析是大數(shù)據(jù)行業(yè)的基石。2.操作系統(tǒng)管理Python作為一種解釋型的腳本語言,特別適合于編寫操作系統(tǒng)管理腳本。3

3.文本處理

Python提供的re模塊能支持正則表達式,還提供SGML、XML分析模塊,許多程序員利用Python進行XML程序的開發(fā)。4.圖形用戶界面(GUI)開發(fā)Python支持GUI開發(fā),使用Tkinter、wxPython或者PyQt庫,可以用于開發(fā)跨平臺的桌面軟件。4

5.Web編程應(yīng)用

Python經(jīng)常用于Web開發(fā)。通過Web框架庫,例如Django、Flask、FastAPI等,可以快速開發(fā)各種規(guī)模的Web應(yīng)用程序。6.網(wǎng)絡(luò)爬蟲網(wǎng)絡(luò)爬蟲也稱為網(wǎng)絡(luò)蜘蛛,是大數(shù)據(jù)行業(yè)獲取數(shù)據(jù)的核心工具。Python是目前編寫網(wǎng)絡(luò)爬蟲所使用的主流編程語言之一,其Scripy爬蟲框架的應(yīng)用非常廣泛。56

在編寫代碼時,遵循一定的代碼編寫規(guī)則和命名規(guī)范可以使代碼更

加規(guī)范化。Python程序應(yīng)遵循以下編碼規(guī)范:

(1)對關(guān)鍵代碼可以添加必要的注釋。

(2)不要在行尾添加分號“;”,也不要用分號將再條命令放在

同一行。

(3)語句中的所有符號都必須是半角字符。

(4)建議每行不超過80個字符,如超過,建議使用小括號“()。7(5)應(yīng)該避免在循環(huán)中使用“+”和“+=”運算符累加字符串。(6)適當使用異常處理結(jié)構(gòu)以提高程序容錯性,但不能過多依賴異常處理結(jié)構(gòu),適當?shù)娘@式判斷還是必要的。(7)命名規(guī)范在編寫代碼中起到很重要的作用,使用命名規(guī)范可以更加直觀地了解代碼所代表的含義。(8)Python最具特色的就是使用縮進來表示代碼塊,不是使用花括號{}。8Python提供了輸入輸出函數(shù)進行人機交互,即input()函數(shù)接收鍵盤的輸入,print()函數(shù)輸出信息。

一、input()函數(shù)Python中輸入函數(shù)一般格式為:string=input([prompt])

二、print()函數(shù)Print函數(shù)的基本語法格式如下:print([輸出值1,輸出值2,…,輸出值n,sep=‘,’end=‘\n’])9

三、字符串的格式化輸出字符串格式化主要有如下3種方法:

1.使用%格式化字符串2.使用string.format()格式化字符串3.使用f-strings格式化字符串格式化的字符串常量(f-strings)使用f或F作為前綴,表示格式化設(shè)置。10一、基礎(chǔ)數(shù)據(jù)類型的種類(一)數(shù)字類型

Python3數(shù)字類型有:整數(shù)、浮點數(shù)、復(fù)數(shù)。(二)布爾類型

Python邏輯類型只有:True和False,分別對應(yīng)的值為1和0,

并且可以與數(shù)字進行運算。11(三)字符串型1.字符串的創(chuàng)建

2.轉(zhuǎn)義字符3.字符串的存儲方式4.字符串的訪問方式5.字符串運算符6.字符串內(nèi)置函數(shù)12二、數(shù)據(jù)類型的判斷方法Python采用基于值的內(nèi)存管理模式,要判斷對象的類型,可使用type()或isinstance()函數(shù)。(一)type()的用法是type(object),該方法直接返回對象的類型值。

(二)isinstance()的用法是isinstance(object,class_or_tuple)13三、數(shù)據(jù)類型轉(zhuǎn)換

Python是強類型語言,變量的類型轉(zhuǎn)換并不是對變量原地進行修改,而是產(chǎn)生一個新的預(yù)期類型的對象。Python提供的類型轉(zhuǎn)換

內(nèi)置函數(shù)有:(1)int()函數(shù):將其他類型數(shù)據(jù)轉(zhuǎn)換為整型。(2)float()函數(shù):將其他類型數(shù)據(jù)轉(zhuǎn)換為浮點數(shù)。(3)str()函數(shù):將其他類型數(shù)據(jù)轉(zhuǎn)換為字符串。14三、數(shù)據(jù)類型轉(zhuǎn)換(4)round()函數(shù):將浮點型數(shù)值圓整為整型。(5)bool()函數(shù)。將其他類型數(shù)據(jù)轉(zhuǎn)換為布爾類型。(6)chr()和ord()函數(shù):進行整數(shù)和字符之間的相互轉(zhuǎn)換。(7)eval()函數(shù)。計算字符串表達式并根據(jù)值的結(jié)果轉(zhuǎn)換成相應(yīng)

數(shù)據(jù)類型。15一、變量的定義

Python中的變量通過賦值方式創(chuàng)建,并通過變量名標識:

var=value;

Python也允許同時為多個變量賦值(多重賦值):

var1,var2,var3,…=value1,value2,value3,…二、變量的命名

變量命名應(yīng)遵循以下五條規(guī)則:16(一)變量名只能由字母、數(shù)字和下劃線組成,且不能以數(shù)字開頭。

例如,name1為合法變量名,而1name或name$1為不合法變量名。(二)

變量名不能是Python的保留字。例如,import不能作為變量名。

(三)變量名區(qū)分大小寫。例如,Name和name是兩個不同的變量。(四)變量名應(yīng)見名知義,從而提高代碼的可讀性。例如,用age表

示年齡。(五)慎用小寫字母i和大寫字母O,否則不方便辨識。17一、運算符

程序語言中參與運算的數(shù)據(jù)稱為操作數(shù),表示運算的符號稱為運算符。例如,在加法運算1+2中,1和2稱為操作數(shù),“+”稱為運算符,運算符及其功能如下表3-1。二、表達式

表達式是用運算符把變量、常量和函數(shù)等操作數(shù)按照一定的規(guī)則連接起來的式子。當多個運算符同時出現(xiàn)在一個表達式中,需要根據(jù)運算符的優(yōu)先級順序決定表達式中運算的執(zhí)行順序。18運算符功能+、-、*、/、%、//、**自梳運算符:加、減、乘、除、求余、取整、冪=、+=、-=、*=、/=、%=、//=、**=賦值運算符和復(fù)合賦值運算符<、<=、>、>=、==、!=關(guān)系運算符:小于、小于等于、大于、大于等于、等于、不等于and、or、not邏輯運算符:與、或、非&、|、^、~、<<、>>位運算:位與、位或、位異或、位非、左移、右移is、isnot對象運算符in、notin成員運算符表3-1運算符及其功能19

程序從主體上來說都是從上往下依次執(zhí)行,即順序結(jié)構(gòu)。但在有些情況下,根據(jù)所要實現(xiàn)的功能選擇執(zhí)行或者不執(zhí)行一些語句,即選擇結(jié)構(gòu),或者反復(fù)執(zhí)行某些語句,即循環(huán)結(jié)構(gòu)。一、選擇結(jié)構(gòu)語句

選擇結(jié)構(gòu)又稱為分支結(jié)構(gòu),根據(jù)判斷條件表達式是否成立(True或False)決定下一步選擇執(zhí)行特定的代碼。

在Python語言中,條件語句使用關(guān)鍵字if、elif、else來表示。20選擇結(jié)構(gòu)分為單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)、多分支結(jié)構(gòu)、嵌套分支結(jié)構(gòu)等多種形式。(一)單分支結(jié)構(gòu)單分支結(jié)構(gòu)的語法格式如下:

if條件表達式:

語句塊功能:單分支結(jié)構(gòu)中只有一個條件。如果條件表達式的值為True,則

表示條件滿足,執(zhí)行語句塊;否則不執(zhí)行語句塊。21(二)雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)的語法格式如下:if條件表達式: 語句塊1else: 語句塊2功能:雙分支結(jié)構(gòu)可以表示兩個條件。如果條件表達式的值為True,

則執(zhí)行語句塊1;否則執(zhí)行語句塊2。22(三)多分支結(jié)構(gòu)

多分支結(jié)構(gòu)的語法格式如下:

圖3-1

多分支結(jié)構(gòu)的語法格式23(四)嵌套分支結(jié)構(gòu)

嵌套分支結(jié)構(gòu)語法格式如下:圖3-2

嵌套分支結(jié)構(gòu)語法格式24二、循環(huán)結(jié)構(gòu)語句

循環(huán)結(jié)構(gòu)是指在滿足一定條件的情況下,重復(fù)執(zhí)行特定代碼塊的一種編碼結(jié)構(gòu)。

Python提供了while語句和for語句兩種循環(huán)結(jié)構(gòu)。(一)for循環(huán)

for循環(huán)可以遍歷任一可序列或可迭代對象,主要包括:1.序列2.字典3.文件對象4.迭代器對象5.生成器函數(shù)25(一)for循環(huán)

for循環(huán)的語法格式如下:for循環(huán)變量in序列或可迭代對象: 循環(huán)體Python提供了一個range()內(nèi)置函數(shù)用來生成一個可迭代對象,語法格式如下:range(start,end,step)26(二)while循環(huán)

通常當事先不知道循環(huán)的次數(shù)時,可使用while循環(huán)。while循環(huán)的語法格式如下:

while條件表達式: 循環(huán)體當條件表達式的值為True時,執(zhí)行循環(huán)體,否則退出循環(huán)。

注:while語句中必須能改變循環(huán)條件(也就是把循環(huán)條件變?yōu)镕alse的代碼),否則會進入死循環(huán)。27(三)循環(huán)嵌套

在Python中,允許在一個循環(huán)體中嵌入另一個循環(huán)。for循環(huán)嵌套的一般語法格式如下:

圖3-3

for循環(huán)嵌套的語法格式28(三)循環(huán)嵌套while循環(huán)嵌套的語法格式如下:

圖3-4

while循環(huán)嵌套的語法格式29

三、break、continue和else語句

(1)break語句break語句用于終止當前整個循環(huán),不再執(zhí)行循環(huán)中剩余的語句塊。

(2)continue語句continue語句用來跳出本次循環(huán)而提前進入到下一次循環(huán)。

(3)else語句在循環(huán)結(jié)構(gòu)中使用時,只有在循環(huán)正常完成后執(zhí)行,即循環(huán)因為執(zhí)行了break語句而使得循環(huán)提前結(jié)束時,則不會執(zhí)行else語句塊。30四、pass語句

Python還提供了一個pass語句,表示空語句,它將不做任何事情,一般起到占位符的作用,用于保持程序結(jié)構(gòu)的完整性。

以輸出10以內(nèi)的偶數(shù)為例代碼如下:

圖3-6

輸出10以內(nèi)的偶數(shù)代碼格式31一、內(nèi)置函數(shù)

內(nèi)置函數(shù)說明如下:

(1)調(diào)用函數(shù)時,函數(shù)名func后面必須加一對圓括號。

(2)函數(shù)通常都有一個返回值,表示調(diào)用的結(jié)果。

(3)不同函數(shù)的參數(shù)個數(shù)不同,有的是必選的,有的是可選的。(4)函數(shù)的參數(shù)值必須符合要求的數(shù)據(jù)類型。(5)函數(shù)可以嵌套調(diào)用,即一個函數(shù)可以作為另一個函數(shù)的參數(shù)。32表3-2Python常用的內(nèi)置函數(shù)函數(shù)描述函數(shù)描述abs(x)返回x的絕對值max()返回最大值len(s)返回對象的長度(個數(shù))min()返回最小值sum(seq)求seq的和bin(x)把整數(shù)轉(zhuǎn)換為以“0b”開頭的二進制字符串pow(x,y)x的y次冪int(str)轉(zhuǎn)換為整數(shù)round(x,n)獲取指定位數(shù)的小數(shù),x表示浮點數(shù),n表示保留的位數(shù)float(str)轉(zhuǎn)換為浮點數(shù)help(s)獲取s的幫助str(num)轉(zhuǎn)換為字符串sorted(list)對列表進行排序并返回排序后的listeval(exp)返回表達式的數(shù)值33二、自定義函數(shù)與調(diào)用

Python不僅可以直接使用內(nèi)置函數(shù),還支持自定義函數(shù),即通過

將一段實現(xiàn)單一功能或相關(guān)聯(lián)功能的代碼定義為函數(shù)。(一)函數(shù)的定義1.def定義函數(shù)

函數(shù)定義的規(guī)則說明如下:

(1)函數(shù)代碼塊以def關(guān)鍵詞開頭,后接函數(shù)名稱和圓括號。34

(2)func_name是用戶自定義的函數(shù)名稱。(3)args是零個或多個參數(shù),且任何傳入?yún)?shù)必須放在圓括號內(nèi)。(4)最后必須跟一個冒號“:”,函數(shù)體從冒號開始,并且縮進。(5)func_block是實現(xiàn)函數(shù)功能的語句塊。(6)

在函數(shù)體中,可以使用return語句返回函數(shù)代碼的執(zhí)行結(jié)

果,返回值可以有一個或多個。(7)

如果想定義一個空函數(shù),可以使用pass語句作為占位符。352.lambda定義函數(shù)

使用lambda函數(shù)需注意:

(1)在使用lambda函數(shù)時,參數(shù)可以有多個,但表達式只能有一個。

(2)lambda函數(shù)中的所有參數(shù)均為臨時參數(shù),即局部參數(shù)。

(3)lambda函數(shù)可以聲明沒有函數(shù)名稱、臨時使用的匿名函數(shù)。36(二)函數(shù)的調(diào)用1.def函數(shù)的調(diào)用調(diào)用函數(shù)也就是執(zhí)行函數(shù)。定義一個函數(shù)后,若不調(diào)用該函數(shù),則其中的代碼就不會被執(zhí)行。

調(diào)用函數(shù)的語法格式如下:func_name(args)

37(二)函數(shù)的調(diào)用2.lambda函數(shù)的調(diào)用

(1)普通調(diào)用

普通調(diào)用的語法格式如下:res([arg1,arg2,…,argn])

(2)作為其他函數(shù)的參數(shù)調(diào)用

作為其他函數(shù)的參數(shù)被調(diào)用的語法格式如下:fun(lambda[arg1,arg2,…,argn]:exp,args)38(三)函數(shù)的返回值函數(shù)在運行結(jié)束后可能會返還給調(diào)用者一個結(jié)果,該結(jié)果稱為返回值。該返回值可以是任意類型,若函數(shù)沒有返回值,可以省略return語句。return語句是函數(shù)的結(jié)束標志,無論return語句出現(xiàn)在函數(shù)的什么位置,只要得到執(zhí)行,就會直接結(jié)束函數(shù)的運行。return語句的語法格式如下:

return[exp]

39

三、函數(shù)參數(shù)的傳遞

(一)參數(shù)類型

在使用函數(shù)時,經(jīng)常會用到形式參數(shù)和實際參數(shù),兩者之間的區(qū)別如下:1.形式參數(shù)簡稱為形參,在使用def定義函數(shù)時,函數(shù)名后面的括號里的變量稱為形參。2.在調(diào)用函數(shù)時提供的值或者變量稱為實際參數(shù),簡稱實參。

40

三、函數(shù)參數(shù)的傳遞3.函數(shù)的參數(shù)傳遞是指將實參傳遞給形參的過程。4.定義函數(shù)時不需要聲明形參的數(shù)據(jù)類型,Python解釋器會根據(jù)實參的類型自動推斷形參的類型。5.形參與實參的關(guān)系:兩者是在調(diào)用的時候進行結(jié)合的,通常實參會將取值傳遞給形參之后進行函數(shù)過程運算,然后可能將某些值經(jīng)過參數(shù)或函數(shù)符號返回給調(diào)用者。

6.函數(shù)既可以傳遞參數(shù),也可以不傳遞參數(shù)。41三、函數(shù)參數(shù)的傳遞

(二)位置參數(shù)。按照實參與形參的位置順序一一對應(yīng)將實參傳遞給形參。

(三)關(guān)鍵字參數(shù)。為了避免位置參數(shù)因位置錯誤而發(fā)生傳參錯誤的問題,Python提供了關(guān)鍵字參數(shù),其允許函數(shù)調(diào)用傳參時位置順序不一致。關(guān)鍵字參數(shù)的形式是“形參名=值”進行傳參,從而避免用戶需要牢記參數(shù)位置的麻煩,使得函數(shù)的調(diào)用和參數(shù)傳遞更加靈活方便。42

(四)默認參數(shù)。按位置傳參時,形參和實參的個數(shù)必須相同,否則程序會報錯;在程序設(shè)計時,有些參數(shù)多數(shù)會取某個值。在這些情況下,可以使用Python提供的默認參數(shù)形式,即在定義函數(shù)時為形參設(shè)置默認值。

(五)可變參數(shù)。如果函數(shù)在定義時無法確定參數(shù)的具體數(shù)目,則可使用可變參數(shù)實現(xiàn),其形式是定義函數(shù)時在形參前面添加星號“*”或“**”。43三、函數(shù)參數(shù)的傳遞

在定義與調(diào)用可變參數(shù)的函數(shù)時注意:

(1)如果要使用一個已有列表或元組作為函數(shù)的可變參數(shù),可以在列表或元組的名稱前加一個星號“*”;

(2)如果要使用一個已有字典作為函數(shù)的可變參數(shù),可以在字典的名稱前加兩個星號“**”。44四、變量的作用域

變量的作用域是指程序代碼能夠訪問該變量的區(qū)域。根據(jù)變量的作用域把變量分為局部變量和全局變量。

(一)局部變量局部變量是指在函數(shù)內(nèi)部定義并使用的變量,它只在函數(shù)內(nèi)部有效。

(二)全局變量與局部變量相對應(yīng),在函數(shù)外部定義的變量稱為全局變量。45五、函數(shù)的遞歸與嵌套(一)遞歸函數(shù)

程序調(diào)用自身的編程方法稱為遞歸。遞歸函數(shù)會一直不停地調(diào)用自身,直到某個條件滿足時就不再調(diào)用了,然后返回得到的結(jié)果。(二)函數(shù)嵌套函數(shù)嵌套是指在函數(shù)體內(nèi)定義另外的函數(shù)。函數(shù)嵌套保證了代碼的模塊化、復(fù)用性和可靠性。46一、Python中使用模塊

Python中使用的模塊有以下3種:1.內(nèi)置模塊2.第三方模塊3.自定義模塊二、模塊的導入

若在程序中使用某些模塊,則必須通過import語句導入該模塊。

導入方式有以下3種:

溫馨提示

  • 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

提交評論