版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Python的特點1. 簡單Python是一種代表簡單思想的語言。2. 易學Python有極其簡單的語法。3. 免費、開源Python是FLOSS (自由/開放源碼軟件)之一。4. 咼層語言使用Python編寫程序時無需考慮如何管理程序使用的內(nèi)存一類的底層細節(jié)。5. 可移植性Python 已被移植到很多平臺,這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/39O、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Shar
2、p Zaurus、Windows CE 甚至還有 PocketPC。6. 解釋性可以直接從源代碼運行。在計算機內(nèi)部,python解釋器把源代碼轉(zhuǎn)換為字節(jié)碼的中間形式,然后再把它翻譯成計算機使用的機器語言。7. 面向?qū)ο驪ython既支持面向過程編程也支持面向?qū)ο缶幊獭?. 可擴展性部分程序可以使用其他語言編寫,如C/C+。9. 可嵌入型可以把Python嵌入到c/c+程序中,從而提供腳本功能。10. 豐富的庫Python標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、操作。電子郵件、XML、XML-RPC、HTML、WA
3、V文件、密碼系統(tǒng)、 GUI (圖形用戶界面)、 Tk和其他與系統(tǒng)有關(guān)的- 分割線- 以下是 Python的基本語法 -、基本概念1. python中數(shù)有四種類型:整數(shù)、長整數(shù)、浮點數(shù)和復數(shù)。整數(shù),如1長整數(shù) 是比較大的整數(shù)浮點數(shù)女口 1.23、3E-2復數(shù) 女口 1 + 2j、 1.1 + 2.2j2. 字符串(字符的序列)python中單引號和雙引號使用完全相同。使用三引號(”或”)可以指定一個多行字符串。轉(zhuǎn)義符自然字符串,通過在字符串前加r或R。如rthis is a line with n則n會顯示,并不是換行。pytho n 允許處理 un icode 字符串,加前綴 u 或 U ,女
4、口this is an uni code stri ng。字符串是不可變的。按字面意義級聯(lián)字符串,如this is string會被自動轉(zhuǎn)換為this is string。3. 標識符的命名第一個字符必須是字母表中字母或下劃線_。標識符的其他的部分有字母、數(shù)字和下劃線組成。標識符對大小寫敏感。4. 對象python程序中用到的任何“東西”都成為“對象”。5. 邏輯行和物理行物理行是我們在編寫程序時看到的,邏輯行則是python看到的。python中分號;標識一個邏輯行的結(jié)束,但是實際中一般每個物理行只寫一個邏輯行,可以避免使用分號。 多個物理行中可以寫一個邏輯行,如下:s = peter is
5、 writi ng this article上面 的使用被稱為明確的行連接,又如:print peter6.縮進空白在python是非常重要的,行首的空白是最重要的,又稱為縮進。行首的空白(空格和制表符)用來決定操作。邏輯行的縮進層次,從而決定語句分組。這意味著同一層次的語句必須有相同的縮進,每一組這樣的語句稱為一個塊。注意:不要混合使用空格和制表符來縮進,因為在跨越不同的平臺時無法正常工作。二、運算符與表達式1.運算符與其用法運算符名稱 說明 例子+ 力口 兩個對象相加3 + 5得到8。a + b得至U ab。- 減 得到負數(shù)或是一個數(shù)減去另一個數(shù)-5.2得到一個負數(shù)。50 - 24得到26
6、。* 乘 兩個數(shù)相乘或是返回一個被重復若干次的字符串2 * 3得到6。la * 3得到lalala。冪返回x的y次幕3 * 4 得至U 81 (即 3 * 3 * 3 * 3 )/ 除 x除以y 4/3得到1 (整數(shù)的除法得到整數(shù)結(jié)果)。4.0/3或4/3.0得到1.3333333333333333/ 取整除返回商的整數(shù)部分4 / 3.0得到1.0% 取模返回除法的余數(shù)8%3得到2。-25.5%2.25得到1.5左移把一個數(shù)的比特向左移一定數(shù)目(每個數(shù)在內(nèi)存中都表示為比特或二進制數(shù)字,即0和1) 2 右移把一個數(shù)的比特向右移一定數(shù)目11 1得到5。一一 11按比特表示為1011,向右移動1比特
7、后得到101,即十進制的5。& 按位與數(shù)的按位與 5 & 3得到1。| 按位或 數(shù)的按位或 5 | 3得到7。A按位異或數(shù)的按位異或5A 3得到6按位翻轉(zhuǎn)x的按位翻轉(zhuǎn)是-(x+1) 5得到6。 小于 返回x是否小于y。所有比較運算符返回 1表示真,返回0表示假。這分別與特殊的變量 True和False 等價。注意,這些變量名的大寫。5 3返回0 (即False)而3 5返回1 (即True)。比較可以被任意連接: 3 5 大于 返回x是否大于y 5 3返回True。如果兩個操作數(shù)都是數(shù)字,它們首先被轉(zhuǎn)換為一個共同的類型。否則,它總是返回False。= 小于等于返回x是否小于等于 y x = 3
8、; y = 6; x = 大于等于返回x是否大于等于 y x = 4; y = 3; x = y 返回 True。= 等于比較對象是否相等x = 2; y = 2; x = y 返回 True。x = str; y = stR; x = y 返回 False。x = str; y = str;x = y 返回 True。!= 不等于比較兩個對象是否不相等x = 2; y = 3; x != y返回True。not布爾非” 如果x為True,返回False。如果x為False,它返回 True。x = True; not y返回False。and布爾與” 如果x為False, x and y返回
9、False,否則它返回 y的計算值。x = False; y = True; x and y,由于x是False,返回False。在這里,Python不會計算y,因為它知道這個表達式的值肯定是False (因為x是False)。這個現(xiàn)象稱為短路計算。or 布爾或” 如果x是True,它返回True,否則它返回y的計算值。x = True; y = False; x or y 返回True。短路計算在這里也適用。2.運算符優(yōu)先級(從低到高)運算符描述lambda Lambda 表達式or布爾“或”and布爾“與”pass是空語句。not x 布爾非”in, not in 成員測試 is, is
10、not同一性測試 ,=,!=,= 比較| 按位或A 按位異或& 按位與 移位+,-加法與減法*,/,%乘法、除法與取余+x, -x 正負號x按位翻轉(zhuǎn)* 指數(shù)x.attribute 屬性參考xi ndex下標xindex:index尋址段 f(argume nts.)函數(shù)調(diào)用(experessi on,.)綁定或元組顯示expressi on,列 表顯示 key:datum,.字典顯示expressi on,字符串轉(zhuǎn)換3. python控制臺輸出使用printprint abc#打印abc并換行print abc%s % d#打印 abcdprint abc%sef%s % (d, g)#打印
11、abcdefg三、控制流1.if語句 i = 10n = in t(raw_i nput(e nter a nu mber:)if n = i:prin t equalelif n %s % (key, value)#1 - one#2 - twodiet函數(shù)如下:clear()-刪除字典中所有元素di = 1:o ne, 2:twod1.clear()print di # copy()-返回字典的一個副本(淺復制)di = 1:o ne, 2:twod2 = d1.copy()print d2 #1: o ne, 2: twodict.fromkeys(seq,val=None)-創(chuàng)建并返回
12、一個新字典,以序列 seq中元素做字典的鍵,的初始值(默認為None)I = 1,2, 3t = (1,2, 3)d3 = .fromkeys(l)print d3 #1: None, 2: No ne, 3: Noned4 = .fromkeys(t, default)print d4 #1: default, 2: default, 3: defaultget(key,default) -返回字典dict中鍵key對應值,如果字典中不存在此鍵,則返回 默認值為None)d5 = 1:o ne, 2:two, 3:threeprint d5.get(1) #oneprint d5.get(5
13、) #No neprint d5.get(5, test) #testhas_key(key) -判斷字典中是否有鍵 keyd6 = 1:o ne, 2:two, 3:threeprint d6.has_key(1)#Trueprint d6.has_key(5)#Falseitems()-返回一個包含字典中(鍵,值)對元組的列表d7 = 1:o ne, 2:two, 3:threefor item in d7.items(): print item#(1, on e)#(2, two)#(3, three) for key, value in d7.items():prin t %s - %
14、s % (key, value)#1 - one #2 - two#3 - threekeys()-返回一個包含字典中所有鍵的列表d8 = 1:o ne, 2:two, 3:threefor key in d8.keys(): print key#1#2#3values。-返回一個包含字典中所有值的列表d8 = 1:o ne, 2:two, 3:threefor value in d8.values():print value#one#two#threepop(key, default)-若字典中key鍵存在,刪除并返回dictkey,若不存在,且未給出default值,引發(fā)KeyError
15、異常d9 = 1:o ne, 2:two, 3:three print d9.pop(1) #one print d9 #2: two, 3: threeprint d9.pop(5, No ne) #None try:d9.pop(5)# raise KeyErrorexcept KeyError, ke:print KeyError:, ke #KeyError:5popitem()-刪除任意鍵值對,并返回該鍵值對,如果字典為空,則產(chǎn)生異常KeyErrord10 = 1:o ne, 2:two, 3:threeprint d10.popitem()#(1, on e)print d10#2
16、: two, 3: threesetdefault(key,default) -若字典中有 key,則返回vlaue值,若沒有 key,則加上該 key,值為default,默 認 None d = 1:o ne, 2:two, 3:threeprint d.setdefault(1)#oneprint d.setdefault (5)#No neprint d #1: o ne, 2: two, 3: three, 5: Noneprint d.setdefault(6, six) #sixprint d #1: o ne, 2: two, 3: three, 5: None, 6: six
17、update(dict2)-把dict2的元素加入到dict中去,鍵字重復時會覆蓋dict中的鍵值d = 1:o ne, 2:two, 3:threed2 = 1:first, 4:forthd.update(d2)print d #1: first, 2: two, 3: three, 4: forthviewitems()-返回一個view對象,(key, value)pair的列表,類似于視圖。優(yōu)點是,如果字典發(fā)生變化,view會同步發(fā)生變化。在迭代過程中,字典不允許改變,否則會報異常d = 1:o ne, 2:two, 3:threefor key, value in d.viewit
18、ems():prin t %s - %s % (key, value)#1 - one#2 - two#3 - threeviewkeys()-返回一個 view對象,key的列表d = 1:o ne, 2:two, 3:threefor key in d.viewkeys():print key#1#2#3viewvalues()-返回一個 view 對象,value 的列表d = 1:o ne, 2:two, 3:threefor value in d.viewvalues():print value #one#two#three4. 序列序列類型是指容器內(nèi)的元素從0開始的索引順序訪問,一
19、次可以訪問一個或者多個元素;列表、元組和字符串都是序列;序列的兩個主要特點是索引操作符和切片操作符;索引可以得到特定元素;切片可以得到部分序列;1 nu mbers = zero, on e, two, three, four22 print nu mbers1 # one3 print nu mbers-1 # four4 #pri nt nu mbers5 # raise In dexError65 print nu mbers: # zero, on e, two, three, four6 print numbers3: # three, four7 print nu mbers:2
20、# zero, on e8print numbers2:4 # two, three9print numbers1:-1 # o ne, two, three切片操作符中的第一個數(shù)(冒號之前)表示切片開始的位置,第二個數(shù)(冒號之后)表示切片到哪里結(jié)束。如果不指定第一個數(shù),Python就從序列首開始。如果沒有指定第二個數(shù),則Python會停止在序列尾。注意,返回的序列從開始位置開始,剛好在結(jié)束位置之前結(jié)束。即開始位置是包含在序列切片中的,而結(jié)束位置被排斥在切片外??梢杂秘摂?shù)做切片。負數(shù)用在從序列尾開始計算的位置。5. 綁定當創(chuàng)建一個對象并給它賦一個變量的時候,這個變量僅僅“指向”那個對象,而不是
21、表示這個對象本身!也就是說,變量名指向計算機中存儲那個對象的內(nèi)存,這被稱作名稱到對象的綁定。如果要復制一個列表或者類似的序列或者其他復雜的對象(不是如整數(shù)那樣的簡單對象),那么必須使用切片操作符來取得拷貝。七、面向?qū)ο缶幊蘰ython支持面向?qū)ο缶幊蹋活惡蛯ο笫敲嫦驅(qū)ο缶幊痰膬蓚€主要方面,類創(chuàng)建一個新的類型,對象是這個類的實 例。對象可以使用普通的屬于對象的變量存儲數(shù)據(jù),屬于對象或類的變量被稱為域;對象也可以使用屬于類的函數(shù), 這樣的函數(shù)稱為類的方法;域和方法可以合稱為類的屬性。域有兩種類型-屬于實例的或?qū)儆陬惐旧?;它們分別被稱為實例變量和類變量。類使用關(guān)鍵字class創(chuàng)建,類的域和方法被列在
22、一個縮進塊中。類的方法必須有一個額外的第一個參數(shù),但是在調(diào)用時不為這個參數(shù)賦值,這個特殊變量指對象本身,按照慣例 它的名稱是self,類似C#中的this。class Ani mal:pass #empty block_i nit_方法在類的一個對象被創(chuàng)建時調(diào)用該方法;相當于 C+中的構(gòu)造函數(shù)。_de方法在類的對象被銷毀時調(diào)用該方法;相當于C+中的析構(gòu)函數(shù)。在使用del刪除一個對象時也就調(diào)用_del_ 方法。Python中所有的類成員(包括數(shù)據(jù)成員)都是public的;只有一個例外,如果使用的數(shù)據(jù)成員以雙下劃線為前綴,則為私有變量。class Pers on:Cou nt = 0def _in
23、it_(self, n ame, age):Pers on.Count += 1self. name = n ameself._age = agep = Perso n(peter, 25)p1 = Perso n(joh n, 20)print Pers on .Co unt #2print p.n ame #peterprint p._age #AttributeError: Pers on in sta nee has no attribute _age繼承:為了使用繼承,基類的名稱作為一個元組跟在類名稱的后面;python支持多重繼承。下面是一個關(guān)于繼承的例子:1 class Scho
24、olMember:2Represe nt any school member.3def _init_(self, n ame, age):4self. name = n ame5self.age = age6prin t I nitializ ing a school member.77def tell(self):8Tell my details9prin t Name: %s, Age: %s, % (self. name, self.age),1110 class Teacher(SchoolMember):11Represe nt a teacher.12def _init_(self
25、, n ame, age, salary):13SchoolMember._init_(self, n ame, age)14self.salary = salary15prin t I nitializ ing a teacher1816def tell(self):17SchoolMember.tell(self)18prin t Salary: %d % self.salary2219 class Stude nt(SchoolMember):20Represe nt a stude nt.21def _init_(self, n ame, age, marks):22SchoolMem
26、ber._init_(self, n ame, age)23self.marks = marks24prin t I nitializ ing a stude nt2925def tell(self):26SchoolMember.tell(self)27prin t Marks: %d % self.marks3328 print SchoolMember._doc_29 print Teacher._doc_30 print Student._doc_3731 t = Teacher(Mr. Li, 30, 9000)32 s = Stude nt(Peter, 25, 90)4033 m
27、embers = t, s4234 for m in members:35m.tell()程序輸出如下:Represe nt any school member.Represe nt a teacher.Represe nt a stude nt.In itializ ing a school member.In itializ ing a teacherIn itializ ing a school member.In itializ ing a stude ntName: Mr. Li, Age: 30, Salary: 9000Name: Peter, Age: 25, Marks: 9
28、0八、輸入/輸出程序與用戶的交互需要使用輸入/輸出,主要包括控制臺和文件;對于控制臺可以使用raw_input和print,也可使用str類。raw_input(xxx)輸入xxx然后讀取用戶的輸入并返回。1.文件輸入/輸出可以使用file類打開一個文件,使用file的read、readline和write來恰當?shù)淖x寫文件。 對文件讀寫能力取決于打開文件時使用的模式,常用模式有讀模式(門、寫模式(W)、追加模式(a),文件操作之后需要調(diào)用close方法來關(guān)閉文件。1 test = ”2 This is a program about file I/O.33 Author: Peter Zhan
29、ge4 Date: 2011/12/255 ”76 f = file(test.txt, w) # ope n for writ ing, the file will be created if the file does nt exist7 f.write(test) # write text to file8f.close() # close the file119f = file(test.txt) # if no mode is specified, the default mode is reado nly.1310 while True:11line = f.readli ne()
30、12if len (li ne) = 0:# zero len gth in dicates the EOF of the file13break14prin t li ne,1915 f.close()2.存儲器python提供一個標準的模塊,成為pickle,使用它可以在一個文件中存儲任何python對象,之后可以完整的取出來,這被稱為持久地存儲對象;還有另外一個模塊成為cPickle,它的功能和pickle完全一樣,只不過它是用c寫的,要比pickle速度快(大約快1000 倍)。import cPickledatafile = data.datan amelist = peter, j
31、oh n, k in gf = file(datafile, w)cPickle.dump( namelist, f)f.close()del n amelistf = file(datafile)stored namelist = cPickle .lo ad(f) print stored namelist #peter, john, ki ng九、異常當程序中出現(xiàn)某些異常的狀況時,異常就發(fā)生了。python中可以使用try . except處理。try:print 1/0except ZeroDivisi on Error, e:print eexcept:prin t error or
32、 excepti on occurred.#in teger divisio n or modulo by zero可以讓try . except關(guān)聯(lián)上一個else,當沒有異常時則執(zhí)行else。我們可以定義自己的異常類,需要繼承Error或Exception。class Shortin putExceptio n( Excepti on): A user-defi ned excepti on class def _init_(self, le ngth, atleast): Exception._init_(self) selfen gth = len gth self.atleast =
33、atleast try:s = raw_in put(e nter somet in g-)if len (s) 3:raise Short in putExcepti on (le n( s), 3)except EOFError:prin t why you in put an EOF?except Short in putExcepti on, ex:prin t The len ght of in put is %d, was expect ing at the least %d % (ex .len gth, ex.atleast) else:print no excepti on#
34、The len ght of in put is 1, was expect ing at the least 3try.fi nallytry:f = file(test.txt)while True:li ne = f.readli ne()if len (I ine) = 0:breaktime.sleep(2)print line,fin ally:f.close()prin t Clea ning up.十、Python標準庫Python標準庫是隨Pthon附帶安裝的,包含了大量極其有用的模塊。1. sys模塊sys模塊包含系統(tǒng)對應的功能sys.argv-包含命令行參數(shù),第一個參數(shù)是
35、 py的文件名sys.platform-返回平臺類型sys.exit(status) -退出程序,可選的status(范圍:0-127): 0表示正常退出,其他表示不正常,可拋異常事件供捕獲sys.path-程序中導入模塊對應的文件必須放在sys.path包含的目錄中,使用sys.path.append添加自己的模塊路徑sys.modules -This is a dictio nary that maps module n ames to modules which have already bee n loadedsys.stdin,sys.stdout,sys.stderr-包含與標準
36、I/O 流對應的流對象s = sys.std in. readli ne()sys.stdout.write(s)2. os模塊該模塊包含普遍的操作系統(tǒng)功能字符串指示你正在使用的平臺。比如對于Windows,它是nt,而對于Linux/Unix用戶,它是posixos.getcwd()函數(shù)得到當前工作目錄,即當前 Python腳本工作的目錄路徑os.getenv()和os.putenv()函數(shù)分別用來讀取和設(shè)置環(huán)境變量os.listdir()返回指定目錄下的所有文件和目錄名os.remove()函數(shù)用來刪除一個文件os.system()函數(shù)用來運行shell命令os.linese
37、p字符串給出當前平臺使用的行終止符。例如,Windows使用rn, Linux使用n而Mac使用ros.sep操作系統(tǒng)特定的路徑分割符os.path.split()函數(shù)返回一個路徑的目錄名和文件名os.path.isfile()和os.path.isdir()函數(shù)分別檢驗給出的路徑是一個文件還是目錄os.path.existe ()函數(shù)用來檢驗給出的路徑是否真地存在十一、其他1. 一些特殊的方法名稱 說明_ini t_(self,.)這個方法在新建對象恰好要被返回使用之前被調(diào)用。_de(self)恰好在對象要被刪除之前調(diào)用。_str_(self)在我們對對象使用print語句或是使用str()
38、的時候調(diào)用。t_(self,other)當使用 小于運算符( 等等)都有特殊的方法。_getitem_(self,key)使用xkey索引操作符的時候調(diào)用。_len_(self)對序列對象使用內(nèi)建的len()函數(shù)的時候調(diào)用。下面的類中定義了上表中的方法:class Array:list =def _init_(self):prin t c on structordef _del_(self):prin t destructordef _str_(self):return this self-defi ned array classdef _getitem_(self, key): return
39、 self._listkeydef _len_(self):return len(self._list)def Add(self, value):self._list.appe nd(value)def Remove(self, in dex): del self._listi ndexdef DisplayItems(self): prin t show all items- for item in self._list: print itemarr = Array()#con structorprint arr#this self-defi ned array classprin t le
40、 n(arr)#0arr.Add(1)arr.Add(2)arr.Add(3)prin t le n(arr)#3print arr0 #1 arr.Displayltems() #show all items #1 #2#3arr.Remove(1)arr.DisplayItems()#show all items#1#3#destructor2.綜合列表通過列表綜合,可以從一個已有的列表導出一個新的列表。listl = 1,2, 3, 4, 5Iist2 = i*2 for i in listl if i 3prin t listl#1,2, 3, 4, 5prin t Iist2 #8,
41、 103.函數(shù)接收元組/列表/字典Python 表當函數(shù)接收元組或字典形式的參數(shù)的時候,有一種特殊的方法,使用*和*前綴。該方法在函數(shù)需要獲取可變數(shù)量的參數(shù)的時候特別有用。由于在args變量前有*前綴,所有多余的函數(shù)參數(shù)都會作為一個元組存儲在args中。如果使用的是*前綴,多余的參數(shù)則會被認為是一個字典的鍵/值對。def powersum(power, *args):total = 0for i in args:total += pow(i, power)return totalprint powersum(2, 1,2, 3)#14 def displaydic(*args):for key
42、,value in args.items():prin t key:%s;value:%s % (key, value)displaydic(a=on e, b=two, c=three)#key:a;value: one#key:c;value:three#key:b;value:two4. lambdalambda語句被用來創(chuàng)建新的函數(shù)對象,并在運行時返回它們。lambda需要一個參數(shù),后面僅跟單個表達式作為函數(shù)體,而表達式的值被這個新建的函數(shù)返回。注意,即便是print語句也不能用在lambda形式中,只能使用表達式。func = lambda s: s * 3print fun c(p
43、eter )#peter peter peter func2 = lambda a, b: a * bprint fun c2(2, 3)#65. exec/evalexec語句用來執(zhí)行儲存在字符串或文件中的Python語句;eval語句用來計算存儲在字符串中的有效達式。cmd = pri nt hello worldexec cmd #hello worldexpression = 10 * 2 + 5print eval(expressi on)#256. assertassert語句用來斷言某個條件是真的,并且在它非真的時候引發(fā)一個錯誤-AssertionError。flag = Tru
44、eassert flag = Truetry:assert flag = Falseexcept Assertion Error, err:prin t failedelse:prin t pass7. repr函數(shù)repr函數(shù)用來取得對象的規(guī)范字符串表示。反引號(也稱轉(zhuǎn)換符)可以完成相同的功能。注意,在大多數(shù)時候有 eval(repr(object) = object??梢酝ㄟ^定義類的_repr_方法來控制對象在被repr函數(shù)調(diào)用的時候返回的內(nèi)容。arr = 1,2, 3print arr #1,2, 3print repr(arr) #1,2, 3十二、練習實現(xiàn)一個通訊錄,主要功能:添加、
45、刪除、更新、查詢、顯示全部聯(lián)系人。1 import cPickle2 import os3 import sys44 class Con tact:5def _init_(self, n ame, phone, mail):6self. name = n ame101112131415self.ph one = phoneself.mail = maildef Update(self, n ame, phone, mail): self. name = n ame self.ph one = phone self.mail = mail1617def display(self):print n
46、 ame:%s, phon e:%s, mail:%s % (self. name, self.ph one, self.mail)181920 # begin2121 # file to store con tact data22 data = os.getcwd() + os.sep + con tacts.data2423 while True:24print -25operati on = raw_ in put(i nput your operati on( add/delete/modify/search/all/exit):)2826if operati on = exit:27sys.exit()3128if os.path.exists(data):29if os.path.getsize(data) = 0:30con tacts = 31else:32f = file(data)33con tacts= cPickle.load(f)34f.close()35else:36con tacts = 4137if
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度數(shù)據(jù)中心承建及裝修安全協(xié)議4篇
- 2025年度智能門窗系統(tǒng)安裝與智慧家居解決方案合同4篇
- 2025版火鍋店品牌授權(quán)及門店整體轉(zhuǎn)讓合同4篇
- 2025年度船舶建造合同終止及解除協(xié)議范本4篇
- 二零二五版公路運輸合同:城市環(huán)衛(wèi)垃圾運輸協(xié)議3篇
- 二零二五版企業(yè)辦公家具采購服務(wù)協(xié)議2篇
- 二零二五年度漁業(yè)資源承包與漁業(yè)教育培訓合同4篇
- 2024簡易鋼材銷售合同范本
- 二零二五年度綠色智能車間承包合作協(xié)議4篇
- 2025年度漫畫版權(quán)海外推廣與代理服務(wù)合同4篇
- 2025年度版權(quán)授權(quán)協(xié)議:游戲角色形象設(shè)計與授權(quán)使用3篇
- 2024年08月云南省農(nóng)村信用社秋季校園招考750名工作人員筆試歷年參考題庫附帶答案詳解
- 防詐騙安全知識培訓課件
- 心肺復蘇課件2024
- 2024年股東股權(quán)繼承轉(zhuǎn)讓協(xié)議3篇
- 2024-2025學年江蘇省南京市高二上冊期末數(shù)學檢測試卷(含解析)
- 四川省名校2025屆高三第二次模擬考試英語試卷含解析
- 《城鎮(zhèn)燃氣領(lǐng)域重大隱患判定指導手冊》專題培訓
- 湖南財政經(jīng)濟學院專升本管理學真題
- 考研有機化學重點
- 全國身份證前六位、區(qū)號、郵編-編碼大全
評論
0/150
提交評論