Python程序設(shè)計(jì)-第二章_Python語(yǔ)言數(shù)據(jù)類型、運(yùn)算符和表達(dá)式課件_第1頁(yè)
Python程序設(shè)計(jì)-第二章_Python語(yǔ)言數(shù)據(jù)類型、運(yùn)算符和表達(dá)式課件_第2頁(yè)
Python程序設(shè)計(jì)-第二章_Python語(yǔ)言數(shù)據(jù)類型、運(yùn)算符和表達(dá)式課件_第3頁(yè)
Python程序設(shè)計(jì)-第二章_Python語(yǔ)言數(shù)據(jù)類型、運(yùn)算符和表達(dá)式課件_第4頁(yè)
Python程序設(shè)計(jì)-第二章_Python語(yǔ)言數(shù)據(jù)類型、運(yùn)算符和表達(dá)式課件_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、PythonProgramming in Python,第二章 Python語(yǔ)言數(shù)據(jù)類型、運(yùn)算符和表達(dá)式,Python程序基本概念 Python運(yùn)算符 Python表達(dá)式,Python程序基本概念,僅僅打印“Hello World”就足夠了嗎?我們應(yīng)該想要做更多的事想要得到一些輸入,然后做操作,再?gòu)闹械玫揭恍┹敵觥T赑ython中,我們可以使用常量和變量來(lái)完成這些工作。,常量,一個(gè)字面意義上的常量的例子是如同5、1.23、9.25e-3這樣的 數(shù),或者如同This is a string、“Its a string!”這樣的字符串。 它們被稱作字面意義上的,因?yàn)樗鼈兙邆?字面 的意義按照它們的

2、字面意義使用它們的值。數(shù)2總是代表它自己,而不會(huì)是別的什么東西它是一個(gè)常量,因?yàn)椴荒芨淖兯闹?。因此,所有這些都被稱為字面意義上的常量。,數(shù),在Python中有4種類型的數(shù)整數(shù)、長(zhǎng)整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)。 2是一個(gè)整數(shù)的例子。 長(zhǎng)整數(shù)不過(guò)是大一些的整數(shù)。 3.23和52.3E-4是浮點(diǎn)數(shù)的例子。E標(biāo)記表示10的冪。在這里,52.3E-4表 示52.3 * 10-4。 (-5+4j)和(2.3-4.6j)是復(fù)數(shù)的例子,字符串,字符串是 字符的序列 。 C語(yǔ)言中用字符數(shù)組表示,如char str20 = “hello”. Python中的字符串可以如下表示: 使用單引號(hào)():可以用單引號(hào)指示字符串,就

3、如同Quote me on this這樣。所有的空白,即空格和制表符都照原樣保留。 使用雙引號(hào)(“):在雙引號(hào)中的字符串與單引號(hào)中的字符串的使用完全相同,例如”Whats your name?“。,字符串,使用三引號(hào)(或“”“):利用三引號(hào),可以指示一個(gè)多行的字符串,可以在三引號(hào)中自由的使用單引號(hào)和雙引號(hào),如:,這是一個(gè)多行的 字符串,你可以寫入 任意字符,甚至是 單引號(hào)和雙引號(hào) ,字符串,轉(zhuǎn)義符 假設(shè)想要在一個(gè)字符串中包含一個(gè)單引號(hào)(),那么該怎么指示這個(gè)字符串?例如,這個(gè)字符串是Whats your name?。 肯定不能用Whats your name?來(lái)指示它,因?yàn)镻ython會(huì)弄不明

4、白這個(gè)字符串從何處開始,何處結(jié)束。 所以,需要指明單引號(hào)而不是字符串的結(jié)尾??梢酝ㄟ^(guò) 轉(zhuǎn)義符 來(lái)完成這個(gè)任務(wù)。用來(lái)指示單引號(hào) 注意這個(gè)反斜杠?,F(xiàn)在可以把字符串表示為Whats your name?。 另一個(gè)表示這個(gè)特別的字符串的方法是“Whats your name?”,即用雙引號(hào)。類似地,要在雙引號(hào)字符串中 使用雙引號(hào)本身的時(shí)候,也可以借助于轉(zhuǎn)義符。另外,可以用轉(zhuǎn)義符來(lái)指示反斜杠本身。 值得注意的一件事是,在一個(gè)字符串中,行末的單獨(dú)一個(gè)反斜杠表示字符串在下一行繼續(xù),而不是開始一個(gè)新的行,This is the first sentence.This is the second sentenc

5、e.,This is the first sentence. This is the second sentence.,字符串,自然字符串 如果你想要指示某些不需要如轉(zhuǎn)義符那樣的特別處理的字符串,那么你需要指定一個(gè)自然字符串。自然字符串通過(guò)給字符串加上前綴r或R來(lái)指定。例如rNewlines are indicated by n“ 比較下面兩句話的區(qū)別:,print Newlines are indicated by nhello print rNewlines are indicated by nhello,字符串,Unicode字符串 Unicode是書寫國(guó)際文本的標(biāo)準(zhǔn)方法。如果想要用中文

6、、日文、韓文等寫文本,那么需要有一個(gè)支持Unicode的編輯器。類似地,Python允許處理Unicode文本只需要在字符串前加上前綴u或U。例如,uThis is a Unicode string.。 在處理文本文件的時(shí)候盡量使用Unicode編碼,特別是文件中含有用非英語(yǔ)的語(yǔ)言寫的文本。,字符串,字符串是不可變的 這意味著一旦創(chuàng)造了一個(gè)字符串,就不能再改變它了。雖然這看起來(lái)像是一件壞事,但實(shí)際上它不是。我們將會(huì)在后面的程序中看到為什么說(shuō)它不是一個(gè)缺點(diǎn)。 級(jí)連字符串 如果把兩個(gè)字符串按字面意義相鄰放著,他們會(huì)被Python自動(dòng)級(jí)連。例如,Whats your name?會(huì) 被自動(dòng)轉(zhuǎn)為What

7、s your name?。,Whats your name?,Whats your name?,Whats + your name? ,變量,僅僅使用字面意義上的常量很快就會(huì)不能滿足我們的需求我們需要一種既可以儲(chǔ)存信息又可以對(duì)它們進(jìn)行操作(改變它的內(nèi)容)的方法。這是為什么要引入 變量 。 變量的值可以變化,即可以使用變量存儲(chǔ)任何東西。變量只是計(jì)算機(jī)中存儲(chǔ)信息的一部分內(nèi)存。與字面意義上的常量不同,需要一些能夠訪問(wèn)這些變量的方法,因此要給變量命名。,標(biāo)識(shí)符的命名,變量是標(biāo)識(shí)符的例子。 標(biāo)識(shí)符 是用來(lái)標(biāo)識(shí) 某樣?xùn)|西 的名字。在命名標(biāo)識(shí)符的時(shí)候,要遵循這些規(guī)則: 標(biāo)識(shí)符的第一個(gè)字符必須是字母表中的字母

8、(大寫或小寫)或者一個(gè)下劃線( _ )。 標(biāo)識(shí)符名稱的其他部分可以由字母(大寫或小寫)、下劃線( _ )或數(shù)字(0-9)組成。 標(biāo)識(shí)符名稱是對(duì)大小寫敏感的。例如,myname和myName不是一個(gè)標(biāo)識(shí)符。注意前者中的小寫n和后者中的大寫N。 有效 標(biāo)識(shí)符名稱的例子有i、_my_name、name_23和a1b2_c3。 無(wú)效 標(biāo)識(shí)符名稱的例子有2things、this is spaced out和my-name。,標(biāo)識(shí)符的命名-關(guān)鍵字,標(biāo)識(shí)符的命名-類保留,_*:from module import *將不被導(dǎo)出。交互環(huán)境最后表達(dá)式的值。 _*_:系統(tǒng)定義的名字 _*:類的私有變量或方法,數(shù)據(jù)

9、類型,每個(gè)變量都有自己的類型,可以處理不同類型的值,稱為數(shù)據(jù)類型。 基本的類型是數(shù)和字符串,我們已經(jīng)討論過(guò)它們了。在后面的章節(jié)里面,我們會(huì)研究怎么用類創(chuàng)造我們自己的類型。 Python中一切都是對(duì)象,包括字符串和數(shù)。,對(duì)象,Python把在程序中用到的任何東西都稱為 對(duì)象。Python是完全面向?qū)ο蟮恼Z(yǔ)言,任何變量都是對(duì)象,甚至包括執(zhí)行的代碼:函數(shù)。,# : var.pyi = 5print ii = i + 1print is = This is a multi-line string.This is the second line.print s,邏輯行與物理行,物理行是在編寫程序時(shí)所 看

10、見 的。邏輯行是Python 看見 的單個(gè)語(yǔ)句。Python假定每個(gè) 物 理行 對(duì)應(yīng)一個(gè) 邏輯行 Python希望每行都只使用一個(gè)語(yǔ)句,這樣使得代碼更加易讀 如果想要在一個(gè)物理行中使用多于一個(gè)邏輯行,那么需要使用分號(hào)(;)來(lái)特別地標(biāo)明這種用法。分號(hào)表示一個(gè)邏輯行/語(yǔ)句的結(jié)束。例如:,i=5 print i,i=5; print i;,i=5;print i,邏輯行與物理行,強(qiáng)烈建議堅(jiān)持在每個(gè)物理行只寫一句邏輯行。 僅僅當(dāng)邏輯行太長(zhǎng)的時(shí)候,在多于一個(gè)物理行寫一個(gè)邏輯行。這些都是為了盡可能避免使用分號(hào),從而讓代碼更加易讀。 下面是一個(gè)在多個(gè)物理行中寫一個(gè)邏輯行的例子。它被稱為明確的行連接。,s =

11、 This is a string. This continues the string.print s,This is a string. This continues the string.,邏輯行與物理行,有一種暗示的假設(shè),可以不需要使用反斜杠。這種情況出現(xiàn)在邏輯行中使用了圓括號(hào)、方括號(hào)或波形括號(hào)的時(shí)候。這被稱為暗示的行連接。,a = 100, 200 print a,縮進(jìn),空白在Python中是重要的。事實(shí)上行首的空白是重要的。它稱為縮進(jìn)。在邏輯行 首的空白(空格和制表符)用來(lái)決定邏輯行的縮進(jìn)層次,從而用來(lái)決定語(yǔ)句的分組。 這意味著同一層次的語(yǔ)句必須有相同的縮進(jìn)。每一組這樣的語(yǔ)句稱為一

12、個(gè)塊。錯(cuò)誤的縮進(jìn)會(huì)引發(fā)錯(cuò)誤 不同于C/C+、Java用的是,i = 5print Value is, i # Error! Notice a single space at the start of the lineprint I repeat, the value is, i,縮進(jìn),如何縮進(jìn)不要混合使用制表符和空格來(lái)縮進(jìn),因?yàn)檫@在跨越不同的平臺(tái)的時(shí)候,無(wú)法正常工作。強(qiáng)烈建議 在每個(gè)縮進(jìn)層次使用 單個(gè)制表符 或 兩個(gè)或四個(gè)空格 。選擇這三種縮進(jìn)風(fēng)格之一。更加重要的是,選擇一種風(fēng)格,然后一貫地使用它,即 只 使用這一種風(fēng)格。 Python迫使程序員寫成統(tǒng)一、整齊并且具有可讀性程序的主要方式之一,

13、這就意味著必須根據(jù)程序的邏輯結(jié)構(gòu),以垂直對(duì)齊的方式來(lái)組織程序代碼,結(jié)果就是讓程序更一致,并具有可讀性,因而具備了重用性和可維護(hù)性,對(duì)自己和他人都是如此。,縮進(jìn),if (x) if (y) statements; else statements;,if x: if y: statements else: statements,Python程序結(jié)構(gòu),程序由模塊構(gòu)成 模塊包含語(yǔ)句 語(yǔ)句包含表達(dá)式 表達(dá)式建立并處理對(duì)象 Python語(yǔ)法實(shí)質(zhì)上是有語(yǔ)句和表達(dá)式組成的。表達(dá)式處理對(duì)象并嵌套在語(yǔ)句中。語(yǔ)句編程實(shí)現(xiàn)程序操作中更大的邏輯關(guān)系。此外,語(yǔ)句還是對(duì)象生成的地方,有些語(yǔ)句會(huì)生成新的對(duì)象類型(函數(shù)、類等)

14、。語(yǔ)句總是存在于模塊中,而模塊本身則又是由語(yǔ)句來(lái)管理的。,Python語(yǔ)法,Python增加了什么 新的語(yǔ)法成分冒號(hào)(:)。所有的復(fù)合語(yǔ)句(語(yǔ)句中嵌套了語(yǔ)句)都有相同的一般形式,就是首行以冒號(hào)結(jié)尾,首行下一行嵌套的代碼往往按縮進(jìn)的格式書寫。 Python刪除了什么 括號(hào)是可選的 終止行就是終止語(yǔ)句(分號(hào)) 縮進(jìn)的結(jié)束就是代碼塊的結(jié)束(),if (x y) x = 1; y = 2; ,if x y: x = 1 y = 2,運(yùn)算符與表達(dá)式,編寫的大多數(shù)語(yǔ)句(邏輯行)都包含表達(dá)式。一個(gè)簡(jiǎn)單的表達(dá)式例子如2 + 3。一 個(gè)表達(dá)式可以分解為運(yùn)算符和操作數(shù)。 運(yùn)算符 的功能是完成某件事,它們由如+這樣

15、的符號(hào)或者其他特定的關(guān)鍵字表示。運(yùn)算符需要數(shù)據(jù)來(lái)進(jìn)行運(yùn)算,這樣的數(shù)據(jù)被稱為 操作數(shù) 。在這個(gè)例子中,2和3是操作數(shù)。 在Python中,表達(dá)式可以作為語(yǔ)句,但表達(dá)式結(jié)果不會(huì)存儲(chǔ)。,運(yùn)算符及其用法,運(yùn)算符及其用法,運(yùn)算符及其用法,運(yùn)算符及其用法,運(yùn)算符優(yōu)先級(jí),如果有一個(gè)如2 + 3 * 4那樣的表達(dá)式,是先做加法呢,還是先做乘法? 應(yīng)當(dāng)先做乘法這意味著乘法運(yùn)算符的優(yōu)先級(jí)高于加法運(yùn)算符 下面給出Python運(yùn)算符優(yōu)先級(jí),在表中列在同一行的運(yùn)算符具有 相同優(yōu)先級(jí),運(yùn)算符優(yōu)先級(jí),建議使用圓括號(hào)來(lái)分組運(yùn)算符和操作數(shù),以便能夠明確地指出運(yùn)算的先后順序,使程序盡可能地易讀。 例如,2 + (3 * 4)顯然比2 + 3 * 4清晰。與此同時(shí),圓括號(hào)也應(yīng)該正確使用,而不應(yīng)該用得過(guò)濫,比如:(2 + (3 +

溫馨提示

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

評(píng)論

0/150

提交評(píng)論