版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
人工智能基礎第3章人工智能編程語言學習目標1.了解Python語言及其特點,知道Python語言的基本語法要素;2.掌握基本數(shù)據(jù)類型的常量表示、變量的創(chuàng)建、表達式語句書寫;3.掌握組合數(shù)據(jù)對象的創(chuàng)建及使用;4.了解程序的結構化流程控制,學會簡單Python程序的編寫;5.掌握常用的Python內(nèi)置函數(shù)、標準模塊函數(shù)的使用;6.掌握函數(shù)的定義及調(diào)用,學會用模塊化設計程序。3.1Python語言及基本語法3.1.1Python語言概述1.python語言概述Python是一種結合了解釋型、編譯性和交互式的面向對象計算機編程語言Python是由荷蘭人GuidovanRossum于1989年發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。3.1.1Python語言概述1.python語言的特點面向對象數(shù)據(jù)類型豐富功能強大的模塊庫可拓展性(可嵌入性)易讀、易維護性可移植性3.1.2基本字符、標識符和關鍵字1.基本字符Python語言的基本字符包括:數(shù)字字符:0,1,2,3,4,5,6,7,8,9。大小寫拉丁字母:a~z,A~Z。中文字符其他一些可打印字符,如:!@#$%&()*?:<>+-=\[]{}特殊字符,如:空格符、換行符、制表符等。3.1.2基本字符、標識符和關鍵字2.標識符通常使用有一定意義的標識符命名變量Day_of_year,ID_numberPython中的標識符命名規(guī)則:由大小寫英文字母、漢字、數(shù)字、下劃線組成;以英文字母、漢字、下劃線為首字符,長度任意,大小寫敏感;不能與python關鍵字同名。3.1.2基本字符、標識符和關鍵字3.關鍵字3.1.3常量和變量1.常量所謂常量,一般是指不需要改變也不能改變的字面值,例如整數(shù)389,浮點數(shù)23.56,字符串'hello',都是常量。這些數(shù)據(jù)是不會改變的,也稱為字面量。Python語言中數(shù)據(jù)儲存在內(nèi)存后被封裝為一個對象,每一個對象都由對象ID、類型和值來標識。3.1.3常量和變量2.變量變量的值是可以變化的。在Python中,不需要事先聲明變量名及其類型,直接賦值即可創(chuàng)建任意類型的對象變量。不僅變量的值是可以變化的,變量的類型也是隨時可以發(fā)生改變的。3.1.3常量和變量“動態(tài)類型”技術3.1.4基本數(shù)據(jù)類型Python的基本數(shù)據(jù)類型包括3種數(shù)字類型整型(int)浮點型(float)復數(shù)(complex),表示邏輯值的布爾類型(bool)。3.1.4基本數(shù)據(jù)類型1.整型數(shù)據(jù)int在Python3.X里只有一種整數(shù)類型int。Python的整數(shù)在理論上沒有取值范圍限制,實際上的取值范圍受限于使用的計算機的內(nèi)存大小。整數(shù)類型可以用4種進制表示,分別為:十進制、二進制、八進制和十六進制。Python中提供了內(nèi)置函數(shù)bin()、oct()、int()、hex()對整數(shù)進行各種進制之間的轉換。3.1.4基本數(shù)據(jù)類型2. 浮點型數(shù)據(jù)float浮點類型數(shù)據(jù)表示存在小數(shù)部分的數(shù)據(jù),支持小數(shù)形式表示和指數(shù)形式表示。小數(shù)形式:例如12是整數(shù),12.0就是浮點數(shù)??茖W計數(shù)法:由正號、負號、數(shù)字和字母e(或E)組成,例如8.9e-4表示8.9×10-4
即0.00089。計算機中的浮點數(shù)都是以近似值存儲數(shù)據(jù),Python的float類型數(shù)通常可提供至多15個數(shù)字的精度。3.1.4基本數(shù)據(jù)類型3. 布爾類型數(shù)據(jù)boolPython的布爾類型數(shù)據(jù)只有兩個:True和False,表示真和假。以True和False為值的表達式稱為布爾表達式,用于表示某種條件是否成立,是選擇控制和循環(huán)控制中必不可少的條件判斷表達式。3.1.4基本數(shù)據(jù)類型4.復數(shù)類型數(shù)據(jù)complexPython提供復數(shù)類型數(shù)據(jù),復數(shù)由實數(shù)部分(real)和虛數(shù)部分(image)構成,表示為:real+imag(J/j后綴)4.23+8.5j3.1.5表達式及語句1.運算符及表達式表達式是數(shù)據(jù)對象和運算符按照一定的規(guī)則寫出的式子,描述計算過程。表達式可以分為算術表達式、關系表達式、邏輯表達式等。最簡單的表達式可以是一個常量或一個變量。3.1.5表達式及語句(1)算術運算3.1.5表達式及語句(2)關系運算
<、<=、>、>=、==、!=3.1.5表達式及語句(3)邏輯運算:與(and)、或(or)、非(not)3.1.5表達式及語句2.語句語句是程序最基本的執(zhí)行單位,程序的功能就是通過執(zhí)行一系列語句來實現(xiàn)的。Python語言中的語句分為簡單語句和復合語句。簡單語句包括:表達式語句、賦值語句、輸入輸出語句、函數(shù)調(diào)用語句、return語句、break語句、continue語句、import語句等。復合語句包括:if選擇語句、while循環(huán)語句、for循環(huán)語句、函數(shù)定義等。3.1.5表達式及語句(1)語句書寫規(guī)則Python語言通常一行一條語句,使用回車換行符分割。從第一列開始頂格書寫,前面不能有多余空格。復合語句的構造體必須縮進。如果語句太長,可以使用反斜杠(\)來實現(xiàn)多行語句。分號(;)可以用于就在一行書寫多條語句。3.1.5表達式及語句(2)注釋注釋是一種輔助性文字,在解釋時會被解釋器忽略,不會被計算機執(zhí)行。Python語言中只提供了單行注釋的符號"#"在Python程序中實現(xiàn)多行注釋可以使用多行字符串常量表示。3.1.5表達式及語句(3)賦值語句在Python中,變量只是一個名稱。Python的賦值語句通過賦值符號“=”實現(xiàn),用賦值符號將右邊數(shù)據(jù)對象與左邊的變量名建立了引用關系,其一般使用方法如下,尖括號的內(nèi)容表示具體使用時需要替代:<變量>=<表達式>3.1.5表達式及語句連續(xù)賦值兩個變量引用了同一個整數(shù)數(shù)據(jù)對象10。3.1.5表達式及語句同步賦值語句3.1.5表達式及語句復合賦值語句3.1.6輸入與輸出1.輸入(1)input()函數(shù)<變量>=input([<提示文本串>])3.1.6輸入與輸出(2)int()、float()函數(shù)3.1.6輸入與輸出2.輸出(1)print()函數(shù)3.1.6輸入與輸出(2)格式化字符串方法format()3.1.6輸入與輸出3.1.7習題與實踐1.簡答題(1)請指出下面合法的Python標識符有哪些?(2)請指出以下哪些不是Python的關鍵字?(3)請指出以下哪些不是Python支持的數(shù)據(jù)類型?(4)Python程序中表示注釋的方法有哪些?2.實踐題(1)請在Pythonshell中嘗試輸入以下數(shù)據(jù)類型的常量,使用type()函數(shù)查看數(shù)據(jù)的類型,注意每種常量的字面表示方式。(2)請在Pythonshell中嘗試以下有關BMI值計算的操作語句。3.2組合數(shù)據(jù)對象Python的內(nèi)置類型組合數(shù)據(jù)3.2.1字符串字符串常量的表示
可以把一個或多個字符用單引號(')、雙引號(")或者三引號(''')括起來,三者的差別在于:使用單引號表示字符串時,字符串中可以包含雙引號;使用雙引號表示字符串時,字符串中可以包含單引號;使用三引號表示字符串時,字符串內(nèi)容可以包含單引號、雙引號和換行符。3.2.1字符串1. 字符串創(chuàng)建字符串的常量表示及轉義字符使用示例3.2.1字符串1. 字符串創(chuàng)建字符串變量示例3.2.1字符串2.字符串的基本運算3.2.1字符串(1)索引操作3.2.1字符串(2)切片操作3.2.1字符串(3)連接和復制操作字符串類型支持使用“+”聯(lián)接兩個字符串,使用“*”進行字符串的復制。3.2.1字符串(4)子串測試運算
<子串>in<字符串>3.2.1字符串(5)str對象的方法3.2.1字符串(5)str對象的方法3.2.2列表和元組Python中的元組和列表可以存儲任意數(shù)量的一組相關數(shù)據(jù),形成一個整體。其中的每一項可以是任意數(shù)據(jù)類型的數(shù)據(jù)項。各數(shù)據(jù)項之間按索引號排列并允許按索引號訪問。元組和列表的區(qū)別為:元組是不可變對象,創(chuàng)建之后就不能改變其數(shù)據(jù)成員,這點與字符串是相同的;列表是可變對象,創(chuàng)建后允許修改、插入或刪除其中的數(shù)據(jù)成員,列表可以看作是一組數(shù)據(jù)變量的集合,可以對變量重新賦值,也可以增加或刪除變量。3.2.2列表和元組
1.元組和列表的創(chuàng)建(1)元組的創(chuàng)建
元組(tuple)一般使用圓括號()來標識,數(shù)組項之間用逗號分隔,可以是不同的數(shù)據(jù)類型。3.2.2列表和元組(2)列表的創(chuàng)建
列表(list)用方括號[]來標識,數(shù)據(jù)項之間以逗號分隔,可以是不同的數(shù)據(jù)類型。3.2.2列表和元組2. 元組和列表的序列操作(1)聯(lián)接和復制操作3.2.2列表和元組(2)索引訪問操作列表和元組、字符串根本區(qū)別在于列表是可變對象,每一個數(shù)據(jù)項可以視為一個變量,通過下標訪問修改變量的值,所以列表元素可以讀取,可以修改。元組和字符串的元素是不能通過下標訪問修改的。這使得列表可以通過索引操作更靈活地完成修改、刪除、插入等維護操作。3.2.2列表和元組(3)序列函數(shù)Python為序列對象提供了max()、min()、len()、sorted()等內(nèi)置函數(shù)支持求序列最大值、序列最小值、序列長度、序列排序操作。3.2.2列表和元組sorted()函數(shù)3.2.2列表和元組(4)邏輯判斷操作
使用in和notin來測試是否是元組或列表元素,測試結果返回True或False布爾值。3.2.2列表和元組迭代訪問的算法模式下標訪問的算法模式(5)遍歷操作3.2.2列表和元組3.元組和列表的方法(1)元組的常用方法3.2.2列表和元組(2)列表的常用方法3.2.2列表和元組(2)列表的常用方法3.2.2列表和元組(2)列表的常用方法3.2.2列表和元組(2)列表的常用方法3.2.3字典和集合1.集合集合是無序的對象的聚集,是可變對象。集合是無序的,不能通過數(shù)字進行索引,而且集合中元素不能重復出現(xiàn)。根據(jù)集合的特性和集合運算,集合經(jīng)常應用:去除列表中的重復元素求兩個列表的相同元素(交集)求兩個列表的不同元素(差集)3.2.3字典和集合(1)創(chuàng)建集合Python的集合可分為可變集合(set)和不可變集合(frozenset)。對可變集合(set),可以用花括號{}標識直接創(chuàng)建,也可以通過set()函數(shù)創(chuàng)建,數(shù)據(jù)項之間以逗號分隔。3.2.3字典和集合列表去重復3.2.3字典和集合(2)集合運算3.2.3字典和集合(3)集合對象的方法3.2.3字典和集合2.字典字典是Python中唯一內(nèi)置映射數(shù)據(jù)類型,與集合類型一樣是無序的,通過指定的鍵從字典訪問對應值。鍵值對沒有特定的排列順序,不能通過索引操作訪問字典元素。3.2.3字典和集合(1)字典的創(chuàng)建通過字面量直接創(chuàng)建通過dict()函數(shù)創(chuàng)建使用序列創(chuàng)建字典。3.2.3字典和集合(2)字典的訪問操作字典元素的訪問方式是通過鍵訪問相關聯(lián)的值,設d為字典對象,常用訪問操作有:d[key]
:返回鍵為key的value,如果key不存在,導致keyError異常報錯d[key]=value:如果key存在,設置值為value,如果key不存在,增加該鍵值對3.2.3字典和集合3.2.3字典和集合(3)字典對象的方法3.2.3字典和集合字典訪問常用算法模式3.2.4習題與實踐1.簡答題(1)請寫出判斷一個字符ch是數(shù)字字符的條件表達式。(2)如何使用Python實現(xiàn)一個英文標題的單詞首字符大寫?(3)求一個序列S1的逆序序列S2的表達式是什么?(4)實現(xiàn)對一個字符串列表按字符串長度排序。(5)一位運動員可以參加多個項目,請簡述使用Python求解參加了運動會的運動員名單的方法。2.實踐題(1)輸入s1="Hello",輸入s2="Python"再輸入s=s1+s2,顯示s的值。(2)輸入str="Hello,PythonWorld!",str[0],str[5],str[5],str[6:-7],str[::-1]。(3)輸入s="PythonString",再輸入下面語句,理解字符串運算(4)輸人s1='programming',再輸入s2='language'寫出能產(chǎn)生下列結果的表達式。(5)輸入:t1='001001','LiSi','men',18,t1,t1[0]和t1[1],type(t1),len(t1)。(6)輸入:t2=[’001001’,’LiSi’,’men’,18],t2,t2[0]和t2[1],type(t2),’men’int2。(7)輸入:t2+=[],輸入:t2。輸入:t2[0:1]=[],再輸入:t2。(8)輸入:a=4,輸入:d={},輸入:d[a]=10,輸入:d['1']=20(9)輸入:t=1,2,3,輸入:p=[1,2,3],輸入:s={1,2,3}(10)輸入:d1={"A":65,"B":66,"a":97,"c":99},d2=d1,d2["A"]=0,s=d1["A"]+d2["A"]3.3程序控制結構流程控制概述流程控制概述3.3.1順序結構任何一個程序都可以看作是一個順序結構程序中的語句按照它們出現(xiàn)的先后順序一條一條地執(zhí)行,一條語句執(zhí)行結束,自動地執(zhí)行下一條語句。例3-3-1
已知一個圓的半徑,求其內(nèi)接正五邊形的面積。3.3.2選擇結構選擇結構也稱分支結構,是指程序的執(zhí)行出現(xiàn)了分支,它需要根據(jù)某一特定的條件選擇其中的一個分支執(zhí)行。常見的選擇結構:單分支if語句二分支if-else語句多分支if-elif-else語句。3.3.2選擇結構1.雙分支結構3.3.2選擇結構2.單分支結構3.3.2選擇結構多分支結構3.3.3循環(huán)結構循環(huán)結構是指程序中滿足某一條件時要重復執(zhí)行某些語句,直到條件為假時才可終止循環(huán)。在循環(huán)結構中的關鍵是:滿足什么條件時執(zhí)行循環(huán)?重復執(zhí)行哪些步驟?Python語言提供了有兩種循環(huán)語句:while語句是當循環(huán)語句,for語句是迭代循環(huán)語句,遍歷獲取迭代序列中的每一個元素。3.3.3循環(huán)結構1.while語句3.3.3循環(huán)結構2.for語句3.3.3循環(huán)結構使用Python中內(nèi)置的函數(shù)range(),可以創(chuàng)建一個從start到end-1,步長為step的有序的整數(shù)數(shù)列。語法如下:range(start,end,step)3.3.3循環(huán)結構3.break、continue語句當break語句在循環(huán)結構中執(zhí)行時,它會忽視后面的代碼塊,立即跳出其所在的最內(nèi)層的循環(huán)結構,轉而執(zhí)行該內(nèi)層循環(huán)結構后面的語句。當continue語句在循環(huán)結構中執(zhí)行時,并不會退出循環(huán)結構,而是立即結束本次循環(huán),重新開始下一輪循環(huán),也就是說,跳過循環(huán)體中在continue語句之后的所有語句,繼續(xù)下一輪循環(huán)。3.3.3循環(huán)結構3.3.3循環(huán)結構3.3.4習題與實踐1.簡答題(1)構成流程控制的三種基本結構是什么?(2)試比較循環(huán)結構語句while和for的使用場合。(3)break語句和continue語句的區(qū)別是什么?2.實踐題(1)如果點正好在圓的邊線上(d==r),顯示“點在圓上”。(2)分別打開“配套資源\第3章”下sy3-3-2-1.py、sy3-3-2-2.py、sy3-3-2-3.py,補全程序,依次完成功能。(3)判斷三角形并計算面積。輸入三個浮點數(shù)a,b,c,判斷能否以它們?yōu)槿齻€邊構成三角形。若能,輸出YES和三角形面積值,否則輸出NO。(4)分段函數(shù)的計算。完成以下分段函數(shù)的計算。(5)N階乘的計算。完成以下功能:鍵盤輸入N的值,輸出N!結果。3.4模塊和函數(shù)3.4.1模塊一般的高級語言程序系統(tǒng)中都提供系統(tǒng)函數(shù)豐富語言功能。Python的系統(tǒng)函數(shù)由標準庫中的很多模塊提供。標準庫中的模塊,又分成內(nèi)置模塊和非內(nèi)置模塊內(nèi)置模塊__builtin__中的函數(shù)和變量可以直接使用非內(nèi)置模塊要先導入模塊,再使用。3.4.1模塊1.內(nèi)置模塊3.4.1模塊3.4.1模塊2.非內(nèi)置模塊非內(nèi)置模塊指的是Python的一些標準庫,例如:數(shù)學運算的math庫、random庫、decimal庫日期和時間處理的datetime庫、time庫文字處理的re庫數(shù)據(jù)對象的array庫、queue庫系統(tǒng)信息的sys庫、os庫網(wǎng)絡應用的socket庫等3.4.1模塊(1)庫的導入和使用方法1導入:import<模塊名>使用:<模塊名>.<函數(shù)>(<參數(shù)>)<模塊名>.<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026西藏昌都市洛隆縣人民醫(yī)院臨時招聘醫(yī)技人員2人參考題庫附答案
- 2026遼寧大連理工大學化工學院黨群辦公室職員(自聘)招聘1人備考題庫附答案
- 2026重慶市城投路橋管理有限公司食堂炊事員崗位2人參考題庫附答案
- 2026陜西省面向華南理工大學招錄選調(diào)生考試備考題庫附答案
- 興國縣2025年公開選調(diào)食品安全監(jiān)管人員的備考題庫附答案
- 招護理!西寧市城北區(qū)朝陽社區(qū)衛(wèi)生服務中心招聘備考題庫附答案
- 浙江國企招聘-2026年臺州市商貿(mào)核心區(qū)開發(fā)建設投資集團有限公司招聘3人備考題庫附答案
- 輔警78名!2025年海南州公安局面向社會公開招聘警務輔助人員考試備考題庫附答案
- 2026貴州湄潭縣紀委縣監(jiān)委選調(diào)事業(yè)單位工作人員參考題庫附答案
- 2026年青海社區(qū)招聘考試題庫附答案
- mbd技術體系在航空制造中的應用
- 硫乙醇酸鹽流體培養(yǎng)基適用性檢查記錄
- 苗木育苗方式
- 通信原理-脈沖編碼調(diào)制(PCM)
- 進階切分技法advanced funk studies rick latham-藍色加粗字
- 省直單位公費醫(yī)療管理辦法實施細則
- 附錄 阿特拉斯空壓機操作手冊
- JJG 693-2011可燃氣體檢測報警器
- GB/T 39557-2020家用電冰箱換熱器
- BB/T 0019-2000包裝容器方罐與扁圓罐
- 凝氣式汽輪機和離心式壓縮機
評論
0/150
提交評論