人工智能導(dǎo)論 課件 11.3-4 python基本數(shù)據(jù)類型_第1頁
人工智能導(dǎo)論 課件 11.3-4 python基本數(shù)據(jù)類型_第2頁
人工智能導(dǎo)論 課件 11.3-4 python基本數(shù)據(jù)類型_第3頁
人工智能導(dǎo)論 課件 11.3-4 python基本數(shù)據(jù)類型_第4頁
人工智能導(dǎo)論 課件 11.3-4 python基本數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python編程基礎(chǔ)公共基礎(chǔ)課-《人工智能導(dǎo)論》1Python運行原理及開發(fā)環(huán)境Python基本語法Python編程基礎(chǔ)Python基本數(shù)據(jù)類型Python運算符Python流程控制結(jié)構(gòu)文件操作模塊化編程異常處理綜合實踐23456789Python編程基礎(chǔ)三、Python基本數(shù)據(jù)類型章節(jié)介紹3章節(jié)簡述在計算機(jī)科學(xué)中,內(nèi)存是用來存儲和處理數(shù)據(jù)的關(guān)鍵部分。Python作為一種功能強(qiáng)大且易于學(xué)習(xí)的編程語言,提供了六個標(biāo)準(zhǔn)數(shù)據(jù)類型:Numbers(數(shù)字)、String(字符串)、List(列表)、Tuple(元組)、Dictionary(字典)和Set(集合),以便開發(fā)者能夠高效地存儲和操作各種數(shù)據(jù)。不同類型的數(shù)據(jù)需要不同的存儲方式和處理方法。例如,考慮一個人的個人信息:他的年齡是一個數(shù)字,可以通過數(shù)字類型存儲;而他的姓名則是由字母組成的文本,適合用字符串類型來存儲。章節(jié)介紹4課程目標(biāo)了解數(shù)字、字符串、列表、元組、字典和集合的特點和用途,為之后的深入學(xué)習(xí)打下堅實的基礎(chǔ)。學(xué)習(xí)如何創(chuàng)建、訪問、修改這些數(shù)據(jù)類型,以及它們的特定方法和應(yīng)用場景。通過實例演示和練習(xí),加深對這些數(shù)據(jù)類型在實際編程中的應(yīng)用理解。通過分析和解決實際問題,提升使用這些基本數(shù)據(jù)類型解決編程難題的能力。數(shù)字(Numbers)5Python的數(shù)字類型是編程中最基本的數(shù)據(jù)類型之一,主要包括以下幾種:整型(int)浮點數(shù)類型(float)布爾類型(bool)整型(int)6整型是不帶有小數(shù)點的數(shù),如3、-3、0、521等。整型用于表示整數(shù),無論是正數(shù)、負(fù)數(shù)還是零。Python中的整型沒有固定的大小限制,理論上可以表示任意大小的整數(shù),受限于機(jī)器的內(nèi)存。常用于計數(shù)、迭代、索引數(shù)組等場景。浮點數(shù)類型(float)7浮點型用于表示帶小數(shù)點的實數(shù)。它適用于需要表示小數(shù)或非常大范圍的數(shù)值,例如科學(xué)計算。在Python中,浮點數(shù)的精度可能有限,因為它們在內(nèi)部是以二進(jìn)制形式表示的,這可能導(dǎo)致精度損失。13.14、5.0都屬于合法的浮點數(shù)常量。布爾類型(bool)8布爾類型有兩個值,分別是True和False,分別表示邏輯真和邏輯假。布爾值通常用于條件判斷和循環(huán)控制。在Python中,布爾值可以被視為整數(shù)值的子類型,其中True等同于1,F(xiàn)alse等同于0。字符串(String)9字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。可以用print函數(shù)顯示字符串內(nèi)容。字符串的操作包括字符串的格式化、賦值、截取、過濾、合并、查找、替換等操作,大致如下:字符串賦值字符串格式化字符串拼接字符串切片字符串查找字符串替換字符串大小寫轉(zhuǎn)換字符串的測試、判斷函數(shù)字符串的分割字符串比較字符串賦值10通過使用變量名稱后跟等號和字符串,可以把字符串賦值給變量。也可以使用三個引號將多行字符串賦值給變量。1、賦值單行字符串2、賦值多行字符串str_1="thisisadog"str_2="""Pythonisaprogramminglanguagethatletsyouworkquicklyandintegratesystemsmoreeffectively."""字符串格式化11Python通過將若干值插入帶“%”標(biāo)記的字符串中,從而動態(tài)地輸出字符串。符號描述符號描述%c格式化字符機(jī)器ASCII碼%f格式化浮點數(shù)字,可指定小數(shù)點后的精度%s格式化字符串%e用科學(xué)計數(shù)法格式化浮點數(shù)%d格式化整數(shù)%E作用同%e%u格式化無符號數(shù)整型%g根據(jù)值的大小決定使用%f或%e%o格式化無符號八進(jìn)制數(shù)%G作用同%g%x格式化無符號十六進(jìn)制數(shù)%p用十六進(jìn)制數(shù)格式化變量的地址字符串拼接12字符串的拼接即字符串的連接,在Python當(dāng)中可以直接用“+”來完成字符串拼接操作。1、使用+號進(jìn)行拼接2、使用join函數(shù)進(jìn)行拼接str1="Mynameis"str2="Jack"str=str1+str2"Jack".join(["Mynameis",""])字符串切片13字符串的切片也稱截取,指的是從字符串當(dāng)中取出若干連續(xù)的字符形成新的字符串。切片操作是字符串操作中比較重要的內(nèi)容,格式為:字符串[start:end:step],其中end不包含在輸出中,step默認(rèn)為1,-1表示逆序輸出。str="anappleadaykeepsthedoctoraway“print(str[0:3])#截取第一位到第三位的字符print(str[:])#截取字符串的全部字符print(str[6:])#截取第七個字符到結(jié)尾print(str[:-3])#截取從頭開始到倒數(shù)第三個字符之前print(str[2])#截取第三個字符print(str[::-1])#創(chuàng)造一個與原字符串順序相反的字符串print(str[8:3:-1])#逆序截取第八位到第四位字符print(str[-3:-1])#截取倒數(shù)第三位與倒數(shù)第一位之前的字符字符串查找14查找字符串中另外一個字符串的位置。index()方法查找指定值的首次出現(xiàn)。如果找不到該值,index()方法將引發(fā)異常。index()方法與find()方法幾乎相同,唯一的區(qū)別是,如果找不到該值,則find()方法將返回-1。str="Hello,welcometomyworld."result=str.index("e")#index()方法print(result)result=str.find("welcome")#find()方法print(result)result=str.find("welcome222")print(result)result=str.index("welcome222")print(result)字符串替換15字符串替換是用另一個指定的字符串替換一個指定的字符串。字符串提供replace(oldvalue,newvalue,count)函數(shù)來操作,如果未指定count,則將替換所有出現(xiàn)的指定短語。string1='HelloAmy,welcometomyworld,yourworld,hisworld,herworld,ourworld'new_string1=string1.replace('world','place')#默認(rèn)不指定count,全部替換print(new_string1)new_string2=string1.replace('world','place',2)#指定count,替換前count個print(new_string2)字符串大小寫轉(zhuǎn)換16lower()方法返回一個字符串,其中所有字符均為小寫,upper()方法返回一個字符串,其中所有字符均大寫。符號和數(shù)字將被忽略。函數(shù)名介紹lower全部轉(zhuǎn)小寫upper全部轉(zhuǎn)大寫title每個單詞首字母大寫capitalize首字母大寫swapcase大寫轉(zhuǎn)小寫,小寫轉(zhuǎn)大寫字符串的測試、判斷函數(shù)17字符串的測試、判斷函數(shù)主要是判斷字符串在格式上是否滿足特定的要求,即是否全部是字母、全部為數(shù)字等,字符串的測試、判斷函數(shù)代碼示例:Str="HelloWorld!"print(Str.startswith("Hi"))#是否以Hi開頭print(Str.endswith("ld"))#是否以Id結(jié)尾print(Str.isalnum())#是否全是字母和數(shù)字,并至少有一個字符print(Str.isalpha())#是否全是字母,并至少有一個字符print(Str.isdigit())#是否全是數(shù)字,并至少有一個字符print(Str.isspace())#是否全是空白字符,并至少有一個字符print(Str.islower())#S中的字母是否全是小寫print(Str.isupper())#S中的字母是否全是大寫print(Str.istitle())#S是否是首字母大寫字符串的分割18Python中Split函數(shù)可以對字符串按照指定規(guī)則分割,并將分割后的字段作為list返回的函數(shù)。mystring="ThisisPythonTutorial"#輸出變量mystring的類型print(type(mystring))#對字符串進(jìn)行分割,返回結(jié)果賦值給newstring變量newstring=mystring.split()#打印新變量print(newstring)#查看新變量類型print(type(newstring))字符串比較19利用函數(shù)對字符串進(jìn)行比較操作代碼示例:importoperatorasop#引入operatorsStr1="12345"sStr2="123bc"n=3#調(diào)用eq方法對前n位字符進(jìn)行判等比較print(op.eq(sStr1[0:n],sStr2[0:n]))字符串操作符20操作符描述案例1+字符串連接>>>a+b'HelloPython'2*重復(fù)輸出字符串>>>a*2'HelloHello'3[]通過索引獲取字符串中字符>>>a[1]'e'4[:]截取字符串中的一部分>>>a[1:4]'ell'5in成員運算符-如果字符串中包含給定的字符返回True>>>"H"inaTrue6notin成員運算符-如果字符串中不包含給定的字符返回True>>>"M"notinaTrue字符串操作符字符串常用函數(shù)21編號函數(shù)名描述1lower()轉(zhuǎn)換string中所有大寫字符為小寫2upper()轉(zhuǎn)換string中的小寫字母為大寫3lstrip()截掉string左邊的空格(默認(rèn))4rstrip()刪除string字符串末尾的空格(默認(rèn))5strip()去除左右兩側(cè)空格6split(str="")以str為分隔符切片string7replace(str1,str2)把string中的str1替換成str2字符串常用函數(shù)列表的含義22列表是數(shù)據(jù)的集合列表內(nèi)元素的個數(shù)及元素的值可以改變列表(List)是由一系列元素組成,所有的元素被包含在一對方括號([])中。列表被創(chuàng)建后,可以執(zhí)行添加、刪除、修改操作。列表中可能包含任意的Python數(shù)據(jù)信息,如字符串、數(shù)字、列表、元組等。列表的含義例:person1=[“tom”,25,1.78]person2=list()如何定義列表?列表的操作23一、列表數(shù)據(jù)的獲取例:person1=[“tom”,”male”,25,1.78,89]1、獲取某一個元素值-下標(biāo)法person1[0]2、獲取所有內(nèi)容-循環(huán)forninperson1:

printn列表的操作24一、列表數(shù)據(jù)的獲取起始位置i終點位置j3、獲取任意部分的內(nèi)容-切片如何獲取最后一個元素獲取前三個元素獲取第二到第四個元素......S[i:j]列表的操作25二、列表的賦值1、初始化時賦值person1=[“tom”,25,1.78]2、下標(biāo)法賦值person1[0]=“terry”列表的操作26三、列表數(shù)據(jù)的新增例:person1=[“tom”,25,1.78]1、append()函數(shù)person1.append(85)#

在列表的最后增加值為85的元素2、insert()函數(shù)person1.insert(1,“male”)#

在索引為1的位置插入值為“male”的元素列表的操作27四、列表數(shù)據(jù)的刪除例:person1=[“tom”,25,1.78]1、pop()函數(shù)person1.pop(1)#

刪除索引為1的元素

person1.pop()#

刪除最后一個元素2、remove()函數(shù)person1.remove(“tom”)#

刪除列表中第一個元素值為"tom"的元素3、delperson1[1]#

刪除索引為1的元素元組28有一些數(shù)據(jù),一旦確定就不能更改,如何保證數(shù)據(jù)不被更改呢?星期性別國家元組的含義29元組與列表類似,與列表不同的是,元組中的元素一旦確立就不能被改變。元組可以使用在不希望數(shù)據(jù)被其他操作改變的場合列表使用的是中括號[],而元組使用的是圓括號()元組的含義week=("星期一","星期二","星期三","星期四")元組的操作30元組除了元素的值不可修改,其他操作與列表類似由于元組中的元素不能改變,所以可以通過將元組轉(zhuǎn)換成列表,再改變其中的數(shù)據(jù)。同樣,列表也可以轉(zhuǎn)換成元組。元組和列表的相互轉(zhuǎn)換代碼示例:mytuple=tuple('abc’)mylist=list(mytuple)#通過list()將元組轉(zhuǎn)換成列表print(mylist)mytuple=tuple(mylist)#通過tuple()將列表轉(zhuǎn)換成元組print(mytuple)為什么需要字典31以下列表中保存有tom各科的考試成績,現(xiàn)要求:80708895988077…scores=[80,70,88,95,98,80,77,…]1:獲取語文成績2:如果已知數(shù)據(jù)的排列順序為:數(shù)學(xué)、英語、化學(xué)、體育、語文、物理、音樂…要求打印出語文成績?nèi)绾胃纳七@個問題?字典語法結(jié)構(gòu)32如果在每個元素前面,增加唯一對應(yīng)的KEY,是不是就很清晰了呢!數(shù)學(xué)英語化學(xué)體育語文物理音樂80708895988077scores={"math":80,

"english":70,

"chem":88,

"pe":95,

"chinese":98,

"physical":80,

"music":77

}字典的含義33字典(Dictionary)是由?”鍵-值”對組成的集合,字典中的”值”通過?”鍵”來引用。Python中,鍵-值對之間用”英文逗號”隔開,并且被包含在一對花括號({})中。字典與列表最大的不同是,字典是無序的,字典中的元素是通過鍵來訪問的。字典也是可變的,可以包含任何其他類型,字典中沒有位置的概念。例如?”取字典的第一個元素”說法錯誤。字典的含義字典的操作34printscores["english"]1、訪問字典中的值2、添加新的鍵值對到字典中scores["dance"]=993、刪除鍵值對delscores["dance"]字典的遍歷351、遍歷字典中所有key和value2、獲取字典中所有的key和valueforkeyinscores:

printkey,":",scores[key]forkey,valueinscores.items():

printkey,":",valueprintscores.keys()

printscores.values()集合的含義36集合的含義Python中集合set是具有唯一元素的無序集合,它和列表很相似,但它只能包含唯一的元素,同時需要注意的是集合是無序的,也就是說集合中沒有第一個、第二個元素之說,通常只是說集合中是否含有這些元素。集合的創(chuàng)建37集合的構(gòu)建可以通過set的構(gòu)造函數(shù)構(gòu)建空的集合,也可以構(gòu)建包含初始值的集合,示例代碼如下:創(chuàng)建一個包含多個元素的集合需要使用花括號{}。集合和字典之間的區(qū)別在于,字典要求鍵入由冒號“:”分隔的鍵值對,而集合則不需要。#創(chuàng)建空的集合s1=set()#創(chuàng)建包含初始值的集合s2={4,5,6}print(s1)print(s2)集合添加元素38集合添加元素一般使用add方法,代碼示例:需要注意的是,s2嘗試添加已經(jīng)存在的元素6,沒有發(fā)生任何事情,因為集合只能包含唯一的元素。#創(chuàng)建空的集合s1=set()#創(chuàng)建包含初始值的集合s2={4,5,6}s1.add(1)s2.add(7)s2.add(6)print(s1)print(s2)集合刪除元素39如果要從集合中刪除某個元素,可以簡單地使用.remove方法進(jìn)行操作,代碼示例:此時,元素7在集合中并不存在,remove時將會觸發(fā)KeyError錯誤信息。如果不希望刪除的時候會觸發(fā)錯誤,那么可以簡單的使用discard函數(shù),該函數(shù)和remove函數(shù)功能一樣,同時在刪除不存在的元素時不會觸發(fā)錯誤,代碼示例:s2={4,5,6}s2.remove(6)print(s2)s2.remove(7)print(s2)s2={4,5,6}s2.discard(6)#removes6s2.discard(7)#removesnothing,butnoerrorraisedprint(s2)集合運算40如果要計算兩個集合的并集,也就是求兩個集合中所有元素構(gòu)成的集合,可以使用union函數(shù)。如果要計算兩個集合的交集,也就是求兩個集合中的公共元素所構(gòu)成的集合,可以使用intersection函數(shù)?!?”操作符來獲取兩個集合的差集,代碼示例:s1={1,2,3,4}s2={3,4,5,6}#s1和s2的并集s3=s1.union(s2)print(s3)#s1和s2的交集s4=ersection(s2)print(s4)#在s1中而不在s2中的元素s5=s1-s2print(s5)#在s2中而不在s1中的元素s6=s2-s1print(s6)Python編程基礎(chǔ)四、Python運算符章節(jié)介紹42章節(jié)簡述在編程的世界里,運算符是構(gòu)建邏輯和表達(dá)式的基石,它們使得我們能夠在代碼中執(zhí)行各種操作,從簡單的數(shù)學(xué)計算到復(fù)雜的邏輯決策。Python,作為一門強(qiáng)大而靈活的編程語言,提供了豐富的運算符集合,覆蓋了算術(shù)運算、比較邏輯、賦值操作、位操作、身份檢測以及成員檢測等多個方面。理解和熟練掌握這些運算符對于開發(fā)高效、可讀性強(qiáng)的Python程序至關(guān)重要。本章節(jié)旨在提供一個全面的Python運算符概覽,從基礎(chǔ)的算術(shù)運算符講起,逐步深入到更為復(fù)雜的邏輯和位運算符。章節(jié)介紹43課程目標(biāo)了解并應(yīng)用Python中的各種運算符,以執(zhí)行數(shù)學(xué)計算、數(shù)據(jù)比較、邏輯決策等操作。理解運算符優(yōu)先級,有效控制表達(dá)式的計算順序。掌握如何使用賦值運算符來存儲和更新變量值。學(xué)習(xí)如何通過位運算符進(jìn)行高效的位級操作。識別并利用身份和成員運算符來檢測對象的身份以及成員資格。基礎(chǔ)運算符44基礎(chǔ)運算符用于執(zhí)行各種數(shù)學(xué)、邏輯和數(shù)據(jù)操作,使程序能夠進(jìn)行計算、決策和數(shù)據(jù)處理等任務(wù)。通過合理使用這些運算符,可以實現(xiàn)復(fù)雜的算法和邏輯控制。主要包括算術(shù)運算符、比較運算符、邏輯運算符、賦值運算符等。算術(shù)運算符與數(shù)值一起使用來執(zhí)行常見的數(shù)學(xué)運算比較運算符用于比較兩個值,返回布爾類型邏輯運算符用于組合條件語句。賦值運算符用于為變量賦值算數(shù)運算符45算術(shù)運算符是用于執(zhí)行基本數(shù)學(xué)運算的運算符,它們允許您在Python中執(zhí)行各種算術(shù)操作。以下是常見的算術(shù)運算符及其介紹:運算符描述+加:兩個對象相加-減:得到負(fù)數(shù)或是一個數(shù)減去另一個數(shù)*乘:兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串/除:x除以y%取模:返回除法的余數(shù)**冪:返回x的y次方//取整數(shù):返回商的整數(shù)部分(向下取整)比較運算符46比較運算符用于比較兩個值,并返回一個布爾值(True或False)來表示它們之間的關(guān)系。比較運算符常用于控制流程和條件語句中,以便進(jìn)行條件性的決策。以下是Python中常見的比較運算符及其介紹:運算符描述==等于:比較對象是否相等!=不等于:比較兩個對象是否不相等>

大于:返回x是否大于y<

小于:返回x是否小于y>=大于等于:返回x是否大于等于y<=小于等于:返回x是否小于等于y邏輯運算符47邏輯運算符(LogicalOperators)用于執(zhí)行邏輯運算,通常用于組合或修改布爾值。Python提供了三種常見的邏輯運算符,它們是:and、or、not。以下是對這些邏輯運算符的詳細(xì)介紹:運算符描述and布爾“與”:x和y都為真時才返回Trueor布爾“或”:x和y其中一個為真時就返回Truenot布爾“非”:如果x為True,返回False。如果x為False,返回True賦值運算符48賦值運算符用于將一個值賦給變

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論