Python程序設計-第二章_Python語言數(shù)據(jù)類型、運算符和表達式.ppt_第1頁
Python程序設計-第二章_Python語言數(shù)據(jù)類型、運算符和表達式.ppt_第2頁
Python程序設計-第二章_Python語言數(shù)據(jù)類型、運算符和表達式.ppt_第3頁
Python程序設計-第二章_Python語言數(shù)據(jù)類型、運算符和表達式.ppt_第4頁
Python程序設計-第二章_Python語言數(shù)據(jù)類型、運算符和表達式.ppt_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Python程序設計Programming in Python,主講:龐勝利,2,第二章 Python語言數(shù)據(jù)類型、運算符和表達式,Python程序基本概念 Python運算符 Python表達式,Python程序基本概念,僅僅打印“Hello World”就足夠了嗎?我們應該想要做更多的事想要得到一些輸入,然后做操作,再從中得到一些輸出。在Python中,我們可以使用常量和變量來完成這些工作。,常量,一個字面意義上的常量的例子是如同5、1.23、9.25e-3這樣的 數(shù),或者如同This is a string、“Its a string!”這樣的字符串。 它們被稱作字面意義上的,因為它們具

2、備 字面 的意義按照它們的字面意義使用它們的值。數(shù)2總是代表它自己,而不會是別的什么東西它是一個常量,因為不能改變它的值。因此,所有這些都被稱為字面意義上的常量。,數(shù),在Python中有4種類型的數(shù)整數(shù)、長整數(shù)、浮點數(shù)和復數(shù)。 2是一個整數(shù)的例子。 長整數(shù)不過是大一些的整數(shù)。 3.23和52.3E-4是浮點數(shù)的例子。E標記表示10的冪。在這里,52.3E-4表 示52.3 * 10-4。 (-5+4j)和(2.3-4.6j)是復數(shù)的例子,字符串,字符串是 字符的序列 。 C語言中用字符數(shù)組表示,如char str20 = “hello”. Python中的字符串可以如下表示: 使用單引號():

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

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

5、econd sentence.,This is the first sentence. This is the second sentence.,字符串,自然字符串 如果你想要指示某些不需要如轉義符那樣的特別處理的字符串,那么你需要指定一個自然字符串。自然字符串通過給字符串加上前綴r或R來指定。例如rNewlines are indicated by n“ 比較下面兩句話的區(qū)別:,print Newlines are indicated by nhello print rNewlines are indicated by nhello,字符串,Unicode字符串 Unicode是書寫國際文本

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

7、e?會 被自動轉為Whats your name?。,Whats your name?,Whats your name?,Whats + your name? ,變量,僅僅使用字面意義上的常量很快就會不能滿足我們的需求我們需要一種既可以儲存信息又可以對它們進行操作(改變它的內容)的方法。這是為什么要引入 變量 。 變量的值可以變化,即可以使用變量存儲任何東西。變量只是計算機中存儲信息的一部分內存。與字面意義上的常量不同,需要一些能夠訪問這些變量的方法,因此要給變量命名。,標識符的命名,變量是標識符的例子。 標識符 是用來標識 某樣東西 的名字。在命名標識符的時候,要遵循這些規(guī)則: 標識符的第一

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

9、:類的私有變量或方法,數(shù)據(jù)類型,每個變量都有自己的類型,可以處理不同類型的值,稱為數(shù)據(jù)類型。 基本的類型是數(shù)和字符串,我們已經(jīng)討論過它們了。在后面的章節(jié)里面,我們會研究怎么用類創(chuàng)造我們自己的類型。 Python中一切都是對象,包括字符串和數(shù)。,對象,Python把在程序中用到的任何東西都稱為 對象。Python是完全面向對象的語言,任何變量都是對象,甚至包括執(zhí)行的代碼:函數(shù)。,# Filename : var.pyi = 5print ii = i + 1print is = This is a multi-line string.This is the second line.print s

10、,邏輯行與物理行,物理行是在編寫程序時所 看見 的。邏輯行是Python 看見 的單個語句。Python假定每個 物 理行 對應一個 邏輯行 Python希望每行都只使用一個語句,這樣使得代碼更加易讀 如果想要在一個物理行中使用多于一個邏輯行,那么需要使用分號(;)來特別地標明這種用法。分號表示一個邏輯行/語句的結束。例如:,i=5 print i,i=5; print i;,i=5;print i,邏輯行與物理行,強烈建議堅持在每個物理行只寫一句邏輯行。 僅僅當邏輯行太長的時候,在多于一個物理行寫一個邏輯行。這些都是為了盡可能避免使用分號,從而讓代碼更加易讀。 下面是一個在多個物理行中寫一個

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

12、語句必須有相同的縮進。每一組這樣的語句稱為一個塊。錯誤的縮進會引發(fā)錯誤 不同于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,縮進,如何縮進不要混合使用制表符和空格來縮進,因為這在跨越不同的平臺的時候,無法正常工作。強烈建議 在每個縮進層次使用 單個制表符 或 兩個或四個空格 。選擇這三種縮進風格之一。更加重要的是,選擇一種風格,然后一貫地使用它,即 只 使用這一種風格。 Python迫使程序員寫成

13、統(tǒng)一、整齊并且具有可讀性程序的主要方式之一,這就意味著必須根據(jù)程序的邏輯結構,以垂直對齊的方式來組織程序代碼,結果就是讓程序更一致,并具有可讀性,因而具備了重用性和可維護性,對自己和他人都是如此。,縮進,if (x) if (y) statements; else statements;,if x: if y: statements else: statements,Python程序結構,程序由模塊構成 模塊包含語句 語句包含表達式 表達式建立并處理對象 Python語法實質上是有語句和表達式組成的。表達式處理對象并嵌套在語句中。語句編程實現(xiàn)程序操作中更大的邏輯關系。此外,語句還是對象生成的地

14、方,有些語句會生成新的對象類型(函數(shù)、類等)。語句總是存在于模塊中,而模塊本身則又是由語句來管理的。,Python語法,Python增加了什么 新的語法成分冒號(:)。所有的復合語句(語句中嵌套了語句)都有相同的一般形式,就是首行以冒號結尾,首行下一行嵌套的代碼往往按縮進的格式書寫。 Python刪除了什么 括號是可選的 終止行就是終止語句(分號) 縮進的結束就是代碼塊的結束(),if (x y) x = 1; y = 2; ,if x y: x = 1 y = 2,運算符與表達式,編寫的大多數(shù)語句(邏輯行)都包含表達式。一個簡單的表達式例子如2 + 3。一 個表達式可以分解為運算符和操作數(shù)。

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

溫馨提示

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

評論

0/150

提交評論