Python程序設(shè)計 課件 第二章 Python基礎(chǔ)語法與數(shù)據(jù)類型_第1頁
Python程序設(shè)計 課件 第二章 Python基礎(chǔ)語法與數(shù)據(jù)類型_第2頁
Python程序設(shè)計 課件 第二章 Python基礎(chǔ)語法與數(shù)據(jù)類型_第3頁
Python程序設(shè)計 課件 第二章 Python基礎(chǔ)語法與數(shù)據(jù)類型_第4頁
Python程序設(shè)計 課件 第二章 Python基礎(chǔ)語法與數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章Python基礎(chǔ)語法與數(shù)據(jù)類型Python程序設(shè)計01Python的基礎(chǔ)語法02Python中的基礎(chǔ)數(shù)據(jù)類型03Python中的高級數(shù)據(jù)類型04本章回顧01Python的基礎(chǔ)語法Python的語法特點Python語言與C、Java等編程語言有許多相似之處,但是也存在一些差異,本小節(jié)將從代碼縮進、注釋、標識符與關(guān)鍵字、命名規(guī)范、編碼規(guī)范、基本輸入輸出函數(shù)6個方面介紹Python語法的特點。代碼縮進Python與C、Java等編程語言最大的區(qū)別就是縮進方式不同,Python不采用大括號“{}”來分隔代碼塊,而是使用縮進來寫模塊??s進的空白數(shù)量是可變的,可以使用空格或Tab鍵實現(xiàn),但是要注意的是同一個級別代碼塊的縮進量必須相同,如果不采用合理的代碼縮進將報錯。注釋Python注釋分為單行注釋和多行注釋,單行注釋采用“#”開頭,多行注釋使用三個單引號(''')或三個雙引號(""")。標識符與關(guān)鍵字標識符是計算機語言中用于標識變量、函數(shù)、類、模塊等名稱的有效字符串集合。Python標識符字符串規(guī)則與C、Java等編程語言類似,總結(jié)如下:由字符(A~Z和a~z)、數(shù)字和下劃線組成,但數(shù)字不能作為第一個字符。不能包含空格、@、%等特殊字符。不能包含Python關(guān)鍵字,可使用標準庫中的keyword模塊查看。命名規(guī)范在編寫代碼時,命名很重要,好的名字可以增加代碼的可讀性,下面列出了常用的命名規(guī)范供參考。包名不宜過長,全部使用小寫字母,不推薦使用下劃線,如mypackage。模塊名不宜過長,全部使用小寫字母,多個單詞間可以使用下劃線“_”分隔,如my_module。類名應(yīng)使用首字母大寫的單詞串(駝峰命名),如MyClass。函數(shù)、變量及屬性命名規(guī)則與模塊類似,即全部使用小寫字母,多個單詞間可以使用下劃線分隔。常量、全局變量全部使用大寫字母,多個單詞間可以使用下劃線分隔。單下劃線“_”開頭的模塊或函數(shù)是受保護的,雙下劃線“__”開頭的實例變量或方法是類私有的。Python編碼規(guī)范PEP8PEP8由吉多團隊于2001年7月創(chuàng)建,是Python增強提案的縮寫,版本號為8。它約定了Python代碼的編碼規(guī)范,涵蓋9大類要求,部分常用要求如下:一、文檔編排1.一個import語句只導入一個模塊,不采用“importos,sys”形式。2.若用“fromXXimportXX”引用庫,可省略“module.”,但可能與本地名字沖突時需采用“importXX”。二、代碼編排1.使用4個空格縮進,不用Tab,不能混合使用Tab和空格。2.不行尾加分號,不將兩條命令放同一行。3.每行字符數(shù)不超79,超則用小括號連接多行內(nèi)容。4.if/for/while語句即使執(zhí)行語句只有一句也須另起一行。Python編碼規(guī)范PEP8三、注釋1.與代碼自相矛盾的注釋比沒注釋更差,修改代碼時要優(yōu)先更新注釋。2.注釋塊通常應(yīng)用在代碼前,并和這些代碼有同樣的縮進。四、空格(總體原則,避免不必要的空格)1.各種右括號、逗號、冒號、分號前不要加空格。2.函數(shù)的左括號前、序列的左括號前不要加空格。如Func(1)、list[2]。3.文件中的函數(shù)與類之間應(yīng)該用兩個空行隔開;同一個類中,各方法之間應(yīng)該用一個空行隔開。4為變量賦值的時候,賦值符號的左側(cè)和右側(cè)應(yīng)該各自寫上一個空格,而且只寫一個?;据斎胼敵龊瘮?shù)Python中最基本的輸入和輸出函數(shù)是input函數(shù)和print函數(shù),這兩個函數(shù)我們在“計算體脂率”的案例中都使用過。(1)input函數(shù)input函數(shù)是Python的內(nèi)置函數(shù),用于接收用戶在鍵盤的輸入信息,基本語法如下:str用于保存輸入的變量,在Python3中,無論從鍵盤輸入的是數(shù)字還是字符都將被做為字符串讀取,所以在“計算體脂率”案例中使用了int、float函數(shù)轉(zhuǎn)換數(shù)據(jù)類型?;据斎胼敵龊瘮?shù)print函數(shù)是我們接觸Python時用到的第一個函數(shù),使用它可以將結(jié)果輸出到控制臺,也可以輸出到指定文件中,右圖為基本輸入輸出函數(shù)的使用案例。Python運算符運算符是一種用于執(zhí)行特定的數(shù)學或邏輯操作的符號,Python提供了豐富的運算符,包括算術(shù)運算符、賦值運算符、比較運算符、邏輯運算符、位運算符等。1.算術(shù)運算符:是用來處理基本的數(shù)學四則運算的符號,Python常用的算術(shù)運算符總結(jié)如下圖所示。賦值運算符2.賦值運算符主要用于為變量賦值。變量在編程語言中是程序員定義的一串字符,代表一個數(shù)據(jù),也可以說是程序員給這個數(shù)據(jù)起的名字。Python中常用的賦值運算符總結(jié)如表下圖所示。比較運算符3.比較運算符,又稱關(guān)系運算符,主要用于對變量或表達式結(jié)果進行比較(表達式是使用運算符將不同類型的數(shù)據(jù)連接起來的式子),其返回結(jié)果有True(真)和False(假)兩種。Python常用的比較運算符總結(jié)如下圖所示。邏輯運算符4.邏輯運算符用來表示日常交流中的“并且”,“或者”,“除非”等思想,邏輯運算符可以將兩個或多個關(guān)系表達式連接成一個或使表達式的邏輯反轉(zhuǎn)。Python常用的邏輯運算符總結(jié)如下圖所示。其他運算符除了上述運算符之外,Python還有成員運算符、身份運算符、位運算符(把數(shù)字看作二進制來進行計算),總結(jié)如右圖所示。運算符優(yōu)先級在使用運算符時,是有優(yōu)先級的,優(yōu)先級高的運算先執(zhí)行,優(yōu)先級低的運算后執(zhí)行,同一優(yōu)先級的運算從左到右順序執(zhí)行。表2-6中按照優(yōu)先級由高到低的順序列出了Python運算符。運算符優(yōu)先級關(guān)于運算符的使用舉例如下圖所示。02Python基本數(shù)據(jù)類型數(shù)字類型數(shù)字類型主要用于存儲數(shù)值,數(shù)字類型是不可改變的。如果修改了數(shù)字類型中的變量值,那么會先把該值存放到內(nèi)存中,然后讓其指向新的內(nèi)存地址。Python中的數(shù)字類型包括整數(shù)(int)、浮點數(shù)(float)和復數(shù)(complex)。整數(shù)整數(shù)用來表示數(shù)學中的整數(shù)數(shù)值,包括正整數(shù)、負整數(shù)和0。在Python中,整數(shù)按照表現(xiàn)形式可分為十進制整數(shù)(默認)、二進制整數(shù)、八進制整數(shù)和十六進制整數(shù),相關(guān)描述如下圖所示。需要注意的是不管用什么方式表示整數(shù),在計算機中,所有數(shù)據(jù)都是以二進制方式存放在內(nèi)存中。浮點數(shù)浮點數(shù)可表示數(shù)學中小數(shù),如3.1415926、1.414等,且能用科學計數(shù)法形式(以e/E表示,如3.14可寫成多種形式)表示。使用浮點數(shù)計算時需注意,因計算機系統(tǒng)中的說小數(shù)以二進制形式存于內(nèi)存,其計算會有與數(shù)學上不同的現(xiàn)象,如下圖所示浮點數(shù)由于0.1和0.2在內(nèi)存中是以一個非常接近的數(shù)字存儲的,所以兩者相加,得到的數(shù)字不是精確的0.3?;谝陨显?,在編程語言中,不能直接使用比較運算符“==”判斷浮點數(shù)的大小,如右圖所示。復數(shù)Python中的復數(shù)用來表示數(shù)學中的復數(shù),形式與數(shù)學中一致,都是由實部和虛部組成,如a+bj,其中a代表實部,b代表虛部??梢苑謩e使用real和imag來訪問復數(shù)的實部和虛部,如右圖所示。字符串類型字符串是用于表示文本的數(shù)據(jù)類型,可由數(shù)字、字母、下劃線組成。在Python中,用英文引號標識的一串字符就是字符串類型數(shù)據(jù)。右圖中的四種引號形式都可以表示字符串,但是需要注意前面和后面使用的引號形式必須一致。轉(zhuǎn)義字符Python中的字符串支持轉(zhuǎn)義字符,轉(zhuǎn)義字符即使用反斜杠“\”對一些特殊字符進行轉(zhuǎn)義,常用的轉(zhuǎn)義字符總結(jié)如下圖所示。字符串的基本操作字符串的基本操作包括可以使用加號“+”進行字符串連接,使用索引訪問字符串中的字符,使用切片截取字符串,使用成員運算符判斷字符串中是否包含給定字符等,總結(jié)如下圖所示。應(yīng)用舉例運行結(jié)果如下圖所示格式化字符串格式化字符串是指先制定好一個模板,在這個模板上預(yù)留幾個空位,然后再根據(jù)需要填上相應(yīng)的內(nèi)容。在Python中,格式化字符串有兩種方式,分別是使用“%”操作符和使用format方法。格式化字符串(1)使用“%”操作符格式化字符串使用“%”操作符格式化字符串的語法如下:格式化字符串(1)使用“%”操作符格式化字符串使用“%”操作符格式化字符串的語法如下:格式化字符串(2)使用format方法格式化字符串字符串對象提供了format方法用于進行字符串格式化,它是通過{}和:來代替%(目前格式化字符串一般使用format方法,%方式不太常用了),其語法如下:其中template用于指定字符串的顯示樣式即模板,exp用于指定要轉(zhuǎn)換的項,如果有多項,則使用逗號進行分隔。接下來重點介紹創(chuàng)建模板,模板是使用“{}”和“:”來指定占位符,其語法格式如下:格式化字符串應(yīng)用舉例格式化字符串(3)f-string格式化字符串在Python3.6中,新增了一種格式化字符串的使用,即f-string,其可以直接在占位符中插入變量,使用起來更方便,如下圖所示。從下圖中我們可以看出,f-string格式化字符串的使用方式很簡單,首先在需格式化的字符串前使用字母f,然后將被替換字段放入大括號“{}”中即可。字符串常用方法在開發(fā)過程中,經(jīng)常需要對字符串進行操作,如替換字符串中的某個字符、字符串切割等,現(xiàn)將常用的方法總結(jié)如右圖所示應(yīng)用舉例應(yīng)用舉例布爾類型布爾類型用于表示真值或假值,在Python中用常量True和False表示,比較運算符返回值為布爾類型。Python里布爾類型是int類型子類,True可表1,F(xiàn)alse可表0,如右圖所示在Python中,所有對象可做真值測試,除以下幾種情況結(jié)果為假外,多數(shù)情況為真:-False或None。-數(shù)字中的0。-空序列(含字符串、元組、字典、列表,下面詳細介紹)。03Python高級數(shù)據(jù)類型在上面中我們介紹了數(shù)字(整數(shù)、浮點數(shù)、復數(shù))、字符串、布爾三種基本數(shù)據(jù)類型,本節(jié)我們將介紹列表、元組、字典這三種在開發(fā)中非常常用的高級數(shù)據(jù)類型。列表、元組、字典,還有之前介紹的字符串都屬于序列,序列指的是一塊可存放多個值的連續(xù)內(nèi)存空間,這些值按一定順序排列,所以每一個值都有一個對應(yīng)的位置編號,即索引,如下圖所示。列表的特點列表即List,是Python中使用非常頻繁的數(shù)據(jù)類型,列表中的所有元素都放在一對中括號“[]”中,兩個相鄰元素間使用逗號“,”分隔。1.列表的特點列表非常靈活,其特點可總結(jié)如下:列表是任意對象的有序集合,可變序列。列表中的元素可以是數(shù)字、字符串、元組等Python支持的所有數(shù)據(jù)類型。同一個列表中,元素的類型可以不同。列表的創(chuàng)建與刪除列表的創(chuàng)建可以使用最基本的“[]”形式,也可以使用list方法,列表的刪除可以使用del語句,舉例如右圖所示。列表的創(chuàng)建與刪除上頁中使用的range()函數(shù)是Python內(nèi)置的函數(shù),返回的是一個可迭代對象,其語法如下:列表常用操作與方法列表是序列的一種,所以序列的常用操作和函數(shù)(如右圖所示),列表也都可以使用。應(yīng)用舉例應(yīng)用舉例列表常用操作與方法除此之外,列表還有一些常用的添加、刪除元素等方法,如右圖所示。應(yīng)用舉例元組元組即Tuple,是與列表相似的數(shù)據(jù)類型,不同之處在于元組不能修改。元組中的所有元素都放在一對圓括號“()”中,兩個相鄰元素間使用逗號“,”分隔。1.元組的使用由于元組是不可變序列,所以序列通用操作和常用方法中,關(guān)于修改元素的內(nèi)容元組都不支持,如右圖所示。元組列表中的關(guān)于添加、刪除元素的方法,在元組中也不支持,如右圖所示,元組只支持count和index兩個方法。應(yīng)用舉例元組與列表的區(qū)別元組與列表非常類似,它們之間的主要區(qū)別總結(jié)如下:列表使用中括號“[]”創(chuàng)建,元組使用小括號“()”創(chuàng)建。

列表是可變序列,元組是不可變序列。列表可以使用索引和切片的方式訪問和修改元素,元組也可以使用索引和切片訪問元素,但不支持修改元素。列表中可以使用append()、insert()、remove()等方法添加、刪除元素,而元組中沒有這些方法。元組比列表的訪問和處理速度快,所以元組可以用于保存程序中不會修改的內(nèi)容。字典字典即Dict,也是Python中使用非常頻繁的數(shù)據(jù)類型,與列表類似,不同的是字典是無序可變序列。字典中的所有元素都放在一對大括號“{}”中,兩個相鄰元素間使用逗號“,”分隔,字典中的元素是“鍵(key)值(value)對”類型,每個鍵和值之間用冒號“:”分隔,通過key可以快速找到value。元組字典的創(chuàng)建可以使用最基本的“{}”形式,也可以使用dict方法。舉例如下圖所示。字典的常用方法字典的常用方法總結(jié)如下圖所示。應(yīng)用舉例集合集合即Set,用于表示不重復元素,是無序、可變序列。在Python中,集合中的所有元素都放在一對大括號“{}”中,兩個相鄰元素間使用逗號“,”分隔。1.集合的創(chuàng)建集合有兩種創(chuàng)建方式,一種是直接使用大括號“{}”創(chuàng)建,另一種是使用set()函數(shù),set()函數(shù)可以將字符串、列表等類型轉(zhuǎn)換為集合,舉例如下頁所示應(yīng)用舉例從下圖的運行結(jié)果可看出,集合是無序的,且如果創(chuàng)建集合時有重復元素,將只保留一個元素,還有一點需要注意的是創(chuàng)建空集合只能使用set()函數(shù),因為使用大括號“{}”創(chuàng)建,將代表是空字典。集合的常用方法集合的常用方法總結(jié)如下圖所示。應(yīng)用舉例集合的運算集合可以進行交集、并集、差集運算,這是和列表、字典等其它序列的最大區(qū)別。關(guān)于集合運算的相關(guān)方法總結(jié)如下圖所示。列表

元組

字典

集合的關(guān)系本節(jié)分別介紹了列表、元組、字典、集合的基本使用,它們都屬于序列,有很多相似的地方,也有很多區(qū)別,總結(jié)如下圖所示。03數(shù)據(jù)類型轉(zhuǎn)換Python是動態(tài)類型的編程語言,也稱為弱類型編程語言,它不需要像Java、C一樣在使用變量前聲明變量類型,但有時需要用到類型轉(zhuǎn)換。右圖為常用的數(shù)據(jù)類型轉(zhuǎn)換函數(shù)。應(yīng)用舉例列表、元組、字典的遍歷案例【案例描述】某健身培訓班學生分為A、B、C三組,每組共有學員5人。A組成員包括趙錢、孫李、周吳、鄭王、馮陳,成績分別為79、68、77、86、92;B組成員包括褚衛(wèi)、蔣沈、韓楊、朱秦、尤許,成績分別為81、83、62、76、82;C組成員包括何呂、施張、孔曹、嚴華、金魏,成績分別為96、73、76、81、82?!景咐蟆竣俜謩e打印輸出A組、B組、C組的總分數(shù)、平均分數(shù)、最高分和最低分。②分別打印輸出A組、B組、C組的成績單。③統(tǒng)計該班級的總成績并按照分數(shù)從高到低打印成績單。案例案例04本章回顧1.關(guān)于Python語法和命名規(guī)范,描述錯誤的是()。A.Python采用大括號“{}”來分隔代碼塊B.Python注釋分為單行注釋和多行注釋C.在Python中,模塊名不宜過長,全部使用小寫字母D.在Python中,常量、全局變量全部使用大寫字母2.關(guān)于PEP8編碼規(guī)范,描述錯誤的是()。A.PEP是PythonEnhancementProposal(Python增提案)的縮寫,

8是

溫馨提示

  • 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

提交評論