Python入門(二)_第1頁
Python入門(二)_第2頁
Python入門(二)_第3頁
Python入門(二)_第4頁
Python入門(二)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Python快速入門第1部分:變量和內(nèi)建數(shù)據(jù)類型Hello world!print Hello world!輸出 Hello world!變量和數(shù)據(jù)類型a = Hello world! # 賦值語句print a輸出Hello world!變量在它們被賦值的時候創(chuàng)建無需聲明變量名是大小寫敏感的: val和 Val不一樣!對變量的賦值過程: 先建一個變量的實例,然后把實例的址址值給變量。分析下以代碼: a=abc # a=a,b,c #運行完第一句后,a就指向abc , 運行完第二句后,a就指向a,b,c 。練習(xí):嘗試每一步print a分析以下代碼: a = b = c = a,b,c # b

2、1 = w c2 = k # c = 12345678 #運行到,是,對應(yīng)的內(nèi)存分別如右圖,可以在每一句語句后打印輸出a,b,c 的各值。變量賦值舉例數(shù)據(jù)類型n = 12print n輸出12print type(n)輸出n = apaprint n輸出apaprint type(n)輸出變量的類型由 Python 決定變量可以在任何時候重新賦值為任何其他類型任何其他值n = 12.0print type(n)輸出常見數(shù)字的類型整數(shù): 12 0 -12987 0123 0X1A2Type int不能大于 2*31八進(jìn)制表示是用 0 開頭(0981 不合法!)十六進(jìn)制是以 0X 開頭, 數(shù)字范圍

3、為 0-9 和A-F浮點數(shù): 12.03 1E1 -1.54E-21Type float精度和范圍與 C語言的 double型相同長整數(shù): 10294LType long任意范圍Python 通??梢蕴幚韽?int 到 long的轉(zhuǎn)換數(shù)字表達(dá)式表達(dá)式是由:值、變量、運算符組成通常的數(shù)字表達(dá)式運算符: +, -, /, *, *, %運算優(yōu)先級和括號正常工作print 12+5輸出 17print 12+5*2輸出22print (12+5)*2輸出34print 4 + 5.5輸出9.5print 1 + 3.0*2輸出10.0print 1+2j + 3-4j輸出(4-2j)3 + 5 -

4、加法3 * 2 - 乘方5 / 2 - 除法5 % 2 - 模Hello + World- 字符竄相加(注意:字符串執(zhí)行進(jìn)行加法運算)3 + (5 * 4) - 混合運練習(xí)邏輯表達(dá)式(布爾表達(dá)式)booleanTrue 和 False為預(yù)定義值; 常用整數(shù)1 和 0 代替值 0 作為 False, 所有其他值是 True常見的布爾表達(dá)式運算符: not, and, orprint True or False輸出 Trueprint not (True and False) or True)輸出 Falseprint 0 and 1輸出 0比較運算符產(chǎn)生布爾值比較運算符: , , =, =, !

5、=print 1213輸出Falseprint 12=12輸出Trueprint 12!=13輸出True字符串 string單引號和雙引號都可用于字符串生成一樣的字符串值字符串中的特殊符號 : n newline, t tab三重引號用于大塊的文本內(nèi)容a = Hello world!b = Hello world!print a = b輸出Truea = One line.nAnother line.print aOne line.Another line.b = One line,another line.print bOne line,another line.a = Pers lect

6、ureprint a輸出Pers lecture字符串轉(zhuǎn)換a = 58print type(a)輸出b=int(a)print b輸出58print type(b)輸出 # 如果不合法的表達(dá)式出現(xiàn)會怎樣?c = int(blah)輸出報錯:SyntaxError: Non-ASCII character c = int(blah)輸出報錯: ValueError: invalid literal for int(): blah字符串運算符a = Part1b = and part2print a + + b # 合并,添加字符串輸出Part1 and part2s = a * 2 # 重復(fù)并合

7、并字符串print s輸出Part1Part1print len(s) # 函數(shù) len 獲得字符串的長度輸出10print p in s # 成員屬性測試輸出Falseprint P in s輸出Trueprint Part in s # 子串測試輸出True列表 List列表:一組任意類型的值,按照一定順序組合而成的。組成列表的值叫做組員。每個元素被標(biāo)識一個索引,索引序列默認(rèn)從0開始。r = “A”, “B”, “C”, “D” # 表實例,不同的值ptint r輸出“A”, “B”, “C”, “D”print type(r)輸出print r1 # 通過指標(biāo)來訪問; 偏移量為 1 輸出

8、“B”print r-1 # 負(fù)的指標(biāo)代表從尾部開始計數(shù)輸出“D”ptint r1:3 # 表的片段; 給出新的表,切片冒號左邊包含,右邊不包含輸出“B”, “C”w = r + 1, 2 # 合并表; 給出另外的一個表print w輸出“A”, “B”, “C”, “D”, 1, 2print r # 原表不變; w 和 r 不同輸出“A”, “B”, “C”, “D”t = “A” * 10 # 用重復(fù)生成一個初始向量print t輸出“A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”表 List 操作表是可變的,可以改變局部表是動態(tài)的,大小可

9、變r = 1, 2.0, 3, 5r3 = word # 通過指標(biāo)訪問改變一個元素(項)print r輸出1, 2.0, 3, wordr0 = 9, 8 # 表可以嵌套print r輸出9, 8, 2.0, 3, wordprint len(r) # 表的長度; 項的個數(shù)輸出46 in r # 成員屬性測試輸出True字典 Dictionary字典由鍵和對應(yīng)值成對組成每個鍵與值用冒號:隔開,每對用逗號分割,整體放在花括號 中鍵必須獨一無二,但值則不必值可以取任何數(shù)據(jù)類型,但必須是不可變的,如字符串,數(shù)字或元組創(chuàng)建字典:dict = A: 111, B: 222, C: 333dict = 1

10、:111, B: 222, C: 333訪問字典里的值例1dict = 1:111, B: 222, C: 333print dict1Print dict B#實例輸出結(jié)果:111222#如果用字典里沒有的鍵訪問數(shù)據(jù),會輸出錯誤,如下Print dict Class訪問字典里的值例2Age=123dict = Name: Zara, Age: 7, Class: First print dict Age#實例輸出結(jié)果:報錯error應(yīng)該這樣訪問,因為此時Age不是一個不可變的值,所以這樣寫就不符合習(xí)慣print dict 123訪問嵌套字典里的鍵值dict = msg: success, d

11、ata:id:1,name:2 print dictdata“id#輸出結(jié)果1字典增加,修改直接對字典中不存在的key進(jìn)行賦值來添加dict = Name: Zara, Age: 7, Class: First dictsex=manprint dict 輸出Age: 7, sex: man, Name: Zara, Class: First修改已有鍵的值dict Name = lisiprint dict 字典一些常用方法len(dict):計算字典元素個數(shù),即鍵的總數(shù)。str(dict):輸出字典可打印的字符串表示。dict.get(key, default=None):返回指定鍵的值,如

12、果值不在字典中返回default值第2部分:語句 statementif 語句if語句: if語句用來檢驗一個條件, 如果 條件為真,我們運行一塊語句(稱為 if-塊 ), 否則 我們處理另外一塊語句(稱為 else-塊 )。 else 從句是可選的格式if 條件1:執(zhí)行塊elif 條件2:執(zhí)行塊else:執(zhí)行塊person = aif person = a: status = OKelif person = b: status = NOelse: status = unknownprint person, statusy=5if y 0 :print “ y 0 ”elif y = 0 :p

13、rint “ y = 0 ”else :print “y 10: break # 結(jié)束 for 循環(huán)print “break value i=%d” %i # %d 是整形通配符,將原來的值格式化為整數(shù)print “break value s=%s” %s # %s是字符串通配符,將原來的值格式化為字符串 , break 語句break語句是用來 終止 循環(huán)語句的,即哪怕循環(huán)條件沒有稱為False或序列還沒有被完全遞歸,也停止執(zhí)行循環(huán)語句循環(huán)中可選的else 區(qū)塊如果沒有遇到break則執(zhí)行else 區(qū)塊經(jīng)常用來取代success/failure 標(biāo)記對 for 與 while 循環(huán)都適用r

14、= 1, 3, 10, 98, -2, 48for i in r: if i 0: print input contains negative value! break # 跳出整個循環(huán),包括else else: pass # 什么都不做else: # 如果循環(huán)是正常結(jié)束的則執(zhí)行 print input is OKpass語句什么都不做可以看做是一個對于不想寫代碼區(qū)塊的占位符在一些情況中是有用的python 字典用for遍歷字典元素的順序沒有定義的,也就是說當(dāng)你for循環(huán)出來的字典的鍵值是沒有順序的.遍歷輸出鍵名a = a:111,b:222,c:333for name in a: print

15、 name遍歷出鍵值a = a:111,b:222,c:333for key in a: print akeywhile 語句對一個區(qū)塊語句的重復(fù)不斷循環(huán)執(zhí)行,直到判斷變成false或者出現(xiàn)breakn=0while n 100: n+=1 print param %d %nn=0while n 50: breakprint n end %d %n異常處理: try 與 except程序運行中的錯誤經(jīng)常會導(dǎo)致執(zhí)行失敗錯誤信息能報告出錯類型使用 try, except 來捕獲并處理異常for s in 12, -4.1, 1.0e2, bbb: try: n = float(s) print n

16、 except ValueError as a: print Error:%s %a內(nèi)嵌類型與它們的布爾解釋True-1True124True FalseFalse listTruekey: valFalse dictTrue FalseFalsestrFalse0.0floatFalse0int所有內(nèi)嵌類型可以直接在if 命令中使用數(shù)字0對應(yīng) False其他數(shù)都對應(yīng) True空對象 (str, list, dict) 對應(yīng) False其它有值的對象對應(yīng) True使用函數(shù) bool 來獲取顯示的值第3部分:面向?qū)ο蟮木幊填愵?vs. 對象 (實例)class vs. object (insta

17、nce)一個類就像是原型藍(lán)圖對象生成器一個類定義了可能的對象其結(jié)構(gòu)會是怎樣它們能做什么對象是類的實例一個對象是數(shù)據(jù)的容器: 屬性一個對象有相應(yīng)的方法: 函數(shù)對象、名字和引用Objects, names and references所有的值都是對象一個變量是一個引用對象的名字一個對象可能有多個名字引用它a a = 1, 3, 2 b = a c = b0:2 d = b:1, 3, 2bcd1, 31, 3, 2類 vs. 對象 (類類的實例)class vs. object (instance)類和方法-定義與實例化class people: #定義類 def speak(self): #定義

18、方法 print my name zhangsan“a=people() #類的實例化a.speak() #類的方法引用類和方法引用例子類 vs. 對象 (類類的實例)class vs. object (instance)類和方法引用-跨文件訪問class people: def _init_(self,name,age,sex): #構(gòu)造方法,初始化方法 self.Name = name #屬性 self.Age = age self.Sex = sex def speak(self): print My Name + + self.Name print My Age %s% + self.

19、Age print My Sex + + self.Sexa=people(“zhangsan”,18,man) #實例化a.speak()類和方法引用-跨文件夾訪問from test import people #從test中導(dǎo)入peopleb=people(wangwu,24,man)b.speak()類的繼承 繼承是面向?qū)ο蟮闹匾卣髦?,繼承是兩個類或者多個類之間的父子關(guān)系,子進(jìn)程繼承了父進(jìn)程的所有公有實例變量和方法。 繼承實現(xiàn)了代碼的重用。重用已經(jīng)存在的數(shù)據(jù)和行為,減少代碼的重新編寫,python在類名后用一對圓括號表示繼承關(guān)系,括號中的類表示父類,如果父類定義了_init_方法,則

20、子類必須顯示地調(diào)用父類的_init_方法,如果子類需要擴(kuò)展父類的行為,可以添加_init_方法的參數(shù)。class A: #父類 def _init_(self, name): =name print name:, def getName(self): print A + class B(A): #子類 def getName(self): print B +A(“SSSSSSSSSS)B()類的繼承-例子1class A: def _init_(self, name): =name print name:, def getName(self): print A + 為了能使用或擴(kuò)展父類的行為,最好顯式調(diào)用父類的_init_方法class B(A): def _init_(self, name): A.init_(self,name) print hi = name def getName(self): print B +類的繼承-例子2類的多態(tài) 多態(tài),是指面向?qū)ο蟪绦蜻\行時,相同的消息可能會送給多個不同的類之對象

溫馨提示

  • 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

提交評論