江紅語言基礎(chǔ)演示文稿_第1頁
江紅語言基礎(chǔ)演示文稿_第2頁
江紅語言基礎(chǔ)演示文稿_第3頁
江紅語言基礎(chǔ)演示文稿_第4頁
江紅語言基礎(chǔ)演示文稿_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

江紅語言基礎(chǔ)演示文稿目前一頁\總數(shù)四十一頁\編于二點(diǎn)江紅第章語言基礎(chǔ)目前二頁\總數(shù)四十一頁\編于二點(diǎn)Python程序概述【例2.1】已知三角形的三條邊,求三角形的面積(area.py)。提示:假設(shè)三條邊長分別為a、b和c,則三角形的面積s=,其中,h為三角形周長的一半Python程序構(gòu)成:模塊、語句、表達(dá)式和對象目前三頁\總數(shù)四十一頁\編于二點(diǎn)Python對象和引用數(shù)據(jù)表示為對象對象本質(zhì)上是一個(gè)內(nèi)存塊,擁有特定的值,支持特定類型的運(yùn)算操作Python3中,一切皆為對象每個(gè)對象由標(biāo)識(shí)(identity)、類型(type)和值(value)標(biāo)識(shí)目前四頁\總數(shù)四十一頁\編于二點(diǎn)Python中的對象標(biāo)識(shí)(identity)用于唯一標(biāo)識(shí)一個(gè)對象,通常對應(yīng)于對象在計(jì)算機(jī)內(nèi)存中的位置。使用內(nèi)置函數(shù)id(obj1)可返回對象obj1的標(biāo)識(shí)通過內(nèi)置的id()函數(shù),可以獲取一個(gè)對象唯一的id標(biāo)識(shí)(CPython的實(shí)現(xiàn)為內(nèi)存存放位置)類型(type)用于表示對象所屬的數(shù)據(jù)類型(類),數(shù)據(jù)類型(類)用于限定對象的取值范圍,以及允許執(zhí)行的處理操作。使用內(nèi)置函數(shù)type(obj1)可以返回對象obj1所屬的數(shù)據(jù)類型通過內(nèi)置的type()函數(shù),可以判斷一個(gè)對象的類型值(value)用于表示對象的數(shù)據(jù)類型的值。使用內(nèi)置函數(shù)print(obj1)可返回對象obj1的值【例2.2】使用內(nèi)置函數(shù)type()、id()和print()查看對象【例2.3】查看Python內(nèi)置函數(shù)對象目前五頁\總數(shù)四十一頁\編于二點(diǎn)創(chuàng)建實(shí)例對象使用字面量創(chuàng)建實(shí)例對象12、101等表示int數(shù)據(jù)類型的值;0.17、3.14等表示float數(shù)據(jù)類型的值;True和False表示bool數(shù)據(jù)類型的值;'Hello,World'、'張三'等表示str數(shù)據(jù)類型的值【例2.4】使用字面量創(chuàng)建實(shí)例對象使用類對象創(chuàng)建實(shí)例對象【例2.5】使用類對象創(chuàng)建實(shí)例對象目前六頁\總數(shù)四十一頁\編于二點(diǎn)數(shù)據(jù)類型Python數(shù)據(jù)類型定義為一個(gè)值的集合以及定義在這個(gè)值集上的一組運(yùn)算操作每個(gè)對象存儲(chǔ)一個(gè)值,例如,int類型的對象可以存儲(chǔ)值1234、99或1333一個(gè)對象上可執(zhí)行且只允許執(zhí)行其對應(yīng)數(shù)據(jù)類型定義的操作兩個(gè)int對象可執(zhí)行乘法運(yùn)算,但兩個(gè)str對象則不允許執(zhí)行乘法運(yùn)算目前七頁\總數(shù)四十一頁\編于二點(diǎn)變量和對象的引用Python對象是位于計(jì)算機(jī)內(nèi)存中的一個(gè)內(nèi)存數(shù)據(jù)塊為了引用對象,必須通過賦值語句,把對象賦值給變量(也稱之為把對象綁定到變量)指向?qū)ο蟮囊眉醋兞俊纠?.6】使用賦值語句把對象綁定到變量目前八頁\總數(shù)四十一頁\編于二點(diǎn)Python是動(dòng)態(tài)類型語言即變量不需要顯式聲明數(shù)據(jù)類型根據(jù)變量的賦值,Python解釋器自動(dòng)確定其數(shù)據(jù)類型通過標(biāo)識(shí)符和賦值運(yùn)算符(=),可以指定某個(gè)變量指向某個(gè)對象,即引用該對象【例2.7】變量的動(dòng)態(tài)類型示例目前九頁\總數(shù)四十一頁\編于二點(diǎn)Python是強(qiáng)類型語言即每個(gè)變量指向的對象均屬于某個(gè)數(shù)據(jù)類型,即只支持該類型允許的運(yùn)算操作【例2.8】變量的強(qiáng)數(shù)據(jù)類型示例目前十頁\總數(shù)四十一頁\編于二點(diǎn)對象內(nèi)存示意圖(1)Python程序運(yùn)行時(shí),在內(nèi)存中會(huì)創(chuàng)建各種對象(位于堆內(nèi)存中),通過賦值語句,將對象綁定到變量(位于棧內(nèi)存中),通過變量引用對象,進(jìn)行各種操作多個(gè)變量可以引用同一個(gè)對象如果一個(gè)對象不再被任何有效作用域中的變量引用,則會(huì)通過自動(dòng)垃圾回收機(jī)制,回收該對象占用的內(nèi)存目前十一頁\總數(shù)四十一頁\編于二點(diǎn)對象內(nèi)存示意圖(2)【例2.9】變量增量運(yùn)算示例以及相應(yīng)的對象內(nèi)存示意圖第一條語句,創(chuàng)建一個(gè)值100的int對象,并綁定到變量i;第二條語句,先計(jì)算表達(dá)式i+1的值,然后創(chuàng)建一個(gè)值為101的int對象,并綁定到變量i目前十二頁\總數(shù)四十一頁\編于二點(diǎn)對象內(nèi)存示意圖(3)【例2.10】交換兩個(gè)變量的示例以及相應(yīng)的對象內(nèi)存示意圖目前十三頁\總數(shù)四十一頁\編于二點(diǎn)對象的值比較(==)和引用判別(is)==運(yùn)算符判斷兩個(gè)變量指向的對象的值是否相同is運(yùn)算符判斷兩個(gè)變量是否指向同一對象【例2.11】對象的值比較(==)和引用判別(is)示例目前十四頁\總數(shù)四十一頁\編于二點(diǎn)不可變對象(immutable)和可變對象(mutable)不可變對象一旦創(chuàng)建,其值就不能被修改,例如:int、str、complex等可變對象的值可以被修改Python對象的可變性取決于其數(shù)據(jù)類型的設(shè)計(jì),即是否允許改變其值【例2.12】不可變對象示例【例2.13】不可變對象示例目前十五頁\總數(shù)四十一頁\編于二點(diǎn)標(biāo)識(shí)符及其命名規(guī)則標(biāo)識(shí)符是變量、函數(shù)、類、模塊和其他對象的名稱標(biāo)識(shí)符的第一個(gè)字符必須是字母、下劃線(“_”),其后的字符可以是字母、下劃線或數(shù)字一些特殊的名稱,如if、for等保留關(guān)鍵字,不能作為標(biāo)識(shí)符例如,a_int、a_float、str1、_strname、func1為正確的變量名;而99var、It'sOK、for(關(guān)鍵字)為錯(cuò)誤的變量名目前十六頁\總數(shù)四十一頁\編于二點(diǎn)標(biāo)識(shí)符注意事項(xiàng)(1)Python標(biāo)識(shí)符區(qū)分大小寫。例如,ABC和abc視為不同的名稱(2)以雙下劃線開始和結(jié)束的名稱通常具有特殊的含義。例如,__init__為類的構(gòu)造函數(shù),一般應(yīng)避免使用(3)避免使用Python預(yù)定義標(biāo)識(shí)符名作為自定義標(biāo)識(shí)符名。例如:NotImplemented、Ellipsis、int、float、list、str、tuple等目前十七頁\總數(shù)四十一頁\編于二點(diǎn)保留關(guān)鍵字關(guān)鍵字即預(yù)定義保留標(biāo)識(shí)符關(guān)鍵字不能在程序中用作標(biāo)識(shí)符,否則會(huì)產(chǎn)生編譯錯(cuò)誤【例2.14】使用Python幫助系統(tǒng)查看關(guān)鍵字目前十八頁\總數(shù)四十一頁\編于二點(diǎn)Python預(yù)定義標(biāo)識(shí)符Python語言包含許多預(yù)定義內(nèi)置類、異常、函數(shù)等,例如,float、ArithmeticError、print等用戶應(yīng)該避免使用Python預(yù)定義標(biāo)識(shí)符名作為自定義標(biāo)識(shí)符名使用Python的內(nèi)置函數(shù)dir(__builtins__),可以查看所有內(nèi)置的異常名、函數(shù)名等目前十九頁\總數(shù)四十一頁\編于二點(diǎn)Python語言遵循的命名規(guī)則目前二十頁\總數(shù)四十一頁\編于二點(diǎn)變量和賦值語句對象是某個(gè)類(類型)的實(shí)例,對象由唯一的id標(biāo)識(shí)對象可以通過標(biāo)識(shí)符來引用,對象引用即指向具體對象實(shí)例的標(biāo)識(shí)符,也稱之為“變量”變量的聲明和賦值【例2.15】變量的聲明和賦值示例目前二十一頁\總數(shù)四十一頁\編于二點(diǎn)鏈?zhǔn)劫x值語句鏈?zhǔn)劫x值用于為多個(gè)變量賦值同一個(gè)值【例2.16】鏈?zhǔn)劫x值語句示例目前二十二頁\總數(shù)四十一頁\編于二點(diǎn)復(fù)合賦值語句【例2.17】復(fù)合賦值示例目前二十三頁\總數(shù)四十一頁\編于二點(diǎn)刪除變量(del)del語句刪除不再使用的變量【例2.18】刪除變量(del)示例目前二十四頁\總數(shù)四十一頁\編于二點(diǎn)系列解包賦值將系列數(shù)據(jù)類型解包為對應(yīng)相同個(gè)數(shù)的變量【例2.19】刪除系列解包示例【例2.20】使用系列解包實(shí)現(xiàn)變量交換目前二十五頁\總數(shù)四十一頁\編于二點(diǎn)常量Python語言不支持常量,即沒有語法規(guī)則限制改變一個(gè)常量的值Python語言使用約定,聲明在程序運(yùn)行過程中不會(huì)改變的變量為常量,通常使用全大寫字母(可以使用下劃線增加可閱讀性)表示常量名【例2.21】常量示例目前二十六頁\總數(shù)四十一頁\編于二點(diǎn)表達(dá)式和運(yùn)算符表達(dá)式的組成操作數(shù)、運(yùn)算符和圓括號(hào)按一定規(guī)則組成表達(dá)式運(yùn)算符的優(yōu)先級控制各個(gè)運(yùn)算符的計(jì)算順序【例2.22】表達(dá)式示例目前二十七頁\總數(shù)四十一頁\編于二點(diǎn)表達(dá)式的書寫規(guī)則表達(dá)式從左到右在同一個(gè)基準(zhǔn)上書寫。例如,數(shù)學(xué)公式a2+b2應(yīng)該寫為:a**2+b**2②乘號(hào)不能省略,例如,數(shù)學(xué)公式ab(表示a乘以b)應(yīng)寫為:a*b③括號(hào)必須成對出現(xiàn),而且只能使用圓括號(hào);圓括號(hào)可以嵌套使用目前二十八頁\總數(shù)四十一頁\編于二點(diǎn)運(yùn)算符運(yùn)算符用于在表達(dá)式中對一個(gè)或多個(gè)操作數(shù)進(jìn)行計(jì)算并返回結(jié)果值表達(dá)式計(jì)算順序取決于運(yùn)算符的結(jié)合順序和優(yōu)先級可以使用圓括號(hào)“()”強(qiáng)制改變運(yùn)算順序【例2.24】表達(dá)式中運(yùn)算符的優(yōu)先級示例目前二十九頁\總數(shù)四十一頁\編于二點(diǎn)Python運(yùn)算符及其優(yōu)先級目前三十頁\總數(shù)四十一頁\編于二點(diǎn)Python語句語句是Python程序的過程構(gòu)造塊,用于定義函數(shù)、定義類、創(chuàng)建對象、變量賦值、調(diào)用函數(shù)、控制分支、創(chuàng)建循環(huán)等Python語句分為簡單語句和復(fù)合語句簡單語句包括:表達(dá)式語句、賦值語句、assert語句、pass空語句、del語句、return語句、yield語句、raise語句、break語句、continue語句、import語句、global語句、nonlocal語句等復(fù)合語句包括:if語句、while語句、for語句、try語句、with語句、函數(shù)定義、類定義等【例2.25】Python語句示例(statement.py):輸入圓的半徑r,計(jì)算并輸出圓的周長和面積目前三十一頁\總數(shù)四十一頁\編于二點(diǎn)Python語句的書寫規(guī)則(1)使用換行符分隔,一般情況下,一行一條語句(2)從第一列開始,前面不能有任何空格,否則會(huì)產(chǎn)生語法錯(cuò)誤。注意,注釋語句可以從任意位置開始;復(fù)合語句構(gòu)造體必須縮進(jìn)(3)反斜杠(\)用于一個(gè)代碼跨越多行的情況。如果語句太長,可以使用續(xù)行符(\)(4)分號(hào)(;)用于在一行書寫多條語句目前三十二頁\總數(shù)四十一頁\編于二點(diǎn)復(fù)合語句及其縮進(jìn)書寫規(guī)則復(fù)合語句(條件語句、循環(huán)語句、函數(shù)定義和類定義,例如if、for、while、def、class等)由頭部語句(headerline)和構(gòu)造體語句塊(suites)組成構(gòu)造體語句塊由一條或多條語句組成(1)頭部語句由相應(yīng)的關(guān)鍵字(例如,if)開始,構(gòu)造體語句塊則為下一行開始的一行或多行縮進(jìn)代碼(2)通常縮進(jìn)是相對頭部語句縮進(jìn)四個(gè)空格,也可以是任意空格,但同一構(gòu)造體代碼塊的多條語句縮進(jìn)的空格數(shù)必須一致對齊。如果語句不縮進(jìn),或縮進(jìn)不一致,將導(dǎo)致編譯錯(cuò)誤(3)如果條件語句、循環(huán)語句、函數(shù)定義和類定義比較短,可以放在同一行目前三十三頁\總數(shù)四十一頁\編于二點(diǎn)注釋語句以符號(hào)“#”開始,到行末結(jié)束。Python注釋語句可以出現(xiàn)在任何位置Python解釋器將忽略所有的注釋語句,注釋語句不會(huì)影響程序的執(zhí)行結(jié)果【例2.26】注釋語句示例目前三十四頁\總數(shù)四十一頁\編于二點(diǎn)空語句pass表示一個(gè)空的代碼塊【例2.27】空語句示例目前三十五頁\總數(shù)四十一頁\編于二點(diǎn)函數(shù)和模塊函數(shù)是可以重復(fù)調(diào)用的代碼塊函數(shù)的創(chuàng)建和調(diào)用聲明創(chuàng)建函數(shù)時(shí),可以聲明函數(shù)的參數(shù),即形式參數(shù),簡稱形參;調(diào)用函數(shù)時(shí),需要提供函數(shù)需要的參數(shù)的值,即實(shí)際參數(shù),簡稱實(shí)參函數(shù)可以使用return返回值【例2.28】聲明和調(diào)用函數(shù)示例(sayHello.py)【例2.29】聲明和調(diào)用函數(shù)getValue(b,r,n),根據(jù)本金b、年利率r和年數(shù)n,計(jì)算最終收益v目前三十六頁\總數(shù)四十一頁\編于二點(diǎn)內(nèi)置函數(shù)如dir()、type()、id()、help()、len()等【例2.30】內(nèi)置函數(shù)使用示例目前三十七頁\總數(shù)四十一頁\編于二點(diǎn)模塊函數(shù)通過import語句,可以導(dǎo)入模塊module,然后使用module.function(arguments)的形式調(diào)用模塊中的函

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論