python筆記題帶答案_第1頁
python筆記題帶答案_第2頁
python筆記題帶答案_第3頁
python筆記題帶答案_第4頁
python筆記題帶答案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.Python是如何進行內(nèi)存管理的?答:從三個方面來說,一對象的引用計數(shù)機制,二垃圾回收機制,三內(nèi)存池機制一、對象的引用計數(shù)機制Python內(nèi)部使用引用計數(shù),來保持追蹤內(nèi)存中的對象,所有對象都有引用計數(shù)。引用計數(shù)增加的情況:1,一個對象分配一個新名稱2,將其放入一個容器中(如列表、元組或字典)引用計數(shù)減少的情況:1,使用del語句對對象別名顯示的銷毀2,引用超出作用域或被重新賦值sys.getrefcount( )函數(shù)可以獲得對象的當前引用計數(shù)多數(shù)情況下,引用計數(shù)比你猜測得要大得多。對于不可變數(shù)據(jù)(如數(shù)字和字符串),解釋器會在程序的不同部分共享內(nèi)存,以便節(jié)約內(nèi)存。二、垃圾回收1,當一個對象的

2、引用計數(shù)歸零時,它將被垃圾收集機制處理掉。2,當兩個對象a和b相互引用時,del語句可以減少a和b的引用計數(shù),并銷毀用于引用底層對象的名稱。然而由于每個對象都包含一個對其他對象的應用,因此引用計數(shù)不會歸零,對象也不會銷毀。(從而導致內(nèi)存泄露)。為解決這一問題,解釋器會定期執(zhí)行一個循環(huán)檢測器,搜索不可訪問對象的循環(huán)并刪除它們。三、內(nèi)存池機制Python提供了對內(nèi)存的垃圾收集機制,但是它將不用的內(nèi)存放到內(nèi)存池而不是返回給操作系統(tǒng)。1,Pymalloc機制。為了加速Python的執(zhí)行效率,Python引入了一個內(nèi)存池機制,用于管理對小塊內(nèi)存的申請和釋放。2,Python中所有小于256個字節(jié)的對象都

3、使用pymalloc實現(xiàn)的分配器,而大的對象則使用系統(tǒng)的malloc。3,對于Python對象,如整數(shù),浮點數(shù)和List,都有其獨立的私有內(nèi)存池,對象間不共享他們的內(nèi)存池。也就是說如果你分配又釋放了大量的整數(shù),用于緩存這些整數(shù)的內(nèi)存就不能再分配給浮點數(shù)。2.什么是lambda函數(shù)?它有什么好處?答:lambda 表達式,通常是在需要一個函數(shù),但是又不想費神去命名一個函數(shù)的場合下使用,也就是指匿名函數(shù)lambda函數(shù):首要用途是指點短小的回調(diào)函數(shù)lambda arguments:expressiona=lambdax,y:x+ya(3,11)3.Python里面如何實現(xiàn)tuple和list的轉(zhuǎn)換

4、?答:直接使用tuple和list函數(shù)就行了,type()可以判斷對象的類型4.請寫出一段Python代碼實現(xiàn)刪除一個list里面的重復元素答:1,使用set函數(shù),set(list)2,使用字典函數(shù),a=1,2,4,2,4,5,6,5,7,8,9,0b=b=b.fromkeys(a)c=list(b.keys()c5.編程用sort進行排序,然后從最后一個元素開始判斷a=1,2,4,2,4,5,7,10,5,5,7,8,9,0,3a.sort()last=a-1for i inrange(len(a)-2,-1,-1):if last=ai:del aielse:last=aiprint(a)

5、6.Python里面如何拷貝一個對象?(賦值,淺拷貝,深拷貝的區(qū)別)答:賦值(=),就是創(chuàng)建了對象的一個新的引用,修改其中任意一個變量都會影響到另一個。淺拷貝:創(chuàng)建一個新的對象,但它包含的是對原始對象中包含項的引用(如果用引用的方式修改其中一個對象,另外一個也會修改改變)1,完全切片方法;2,工廠函數(shù),如list();3,copy模塊的copy()函數(shù)深拷貝:創(chuàng)建一個新的對象,并且遞歸的復制它所包含的對象(修改其中一個,另外一個不會改變)copy模塊的deep.deepcopy()函數(shù)7.介紹一下except的用法和作用?答:tryexceptexceptelsefinally執(zhí)行try下的語

6、句,如果引發(fā)異常,則執(zhí)行過程會跳到except語句。對每個except分支順序嘗試執(zhí)行,如果引發(fā)的異常與except中的異常組匹配,執(zhí)行相應的語句。如果所有的except都不匹配,則異常會傳遞到下一個調(diào)用本代碼的最高層try代碼中。try下的語句正常執(zhí)行,則執(zhí)行else塊代碼。如果發(fā)生異常,就不會執(zhí)行如果存在finally語句,最后總是會執(zhí)行。8.Python中pass語句的作用是什么?答:pass語句不會執(zhí)行任何操作,一般作為占位符或者創(chuàng)建占位程序,whileFalse:pass9.介紹一下Python下range()函數(shù)的用法?答:列出一組數(shù)據(jù),經(jīng)常用在for in range()循環(huán)中1

7、0.如何用Python來進行查詢和替換一個文本字符串?答:可以使用re模塊中的sub()函數(shù)或者subn()函數(shù)來進行查詢和替換,格式:sub(replacement, string,count=0)(replacement是被替換成的文本,string是需要被替換的文本,count是一個可選參數(shù),指最大被替換的數(shù)量)import rep=pile(blue|white|red)print(p.sub(colour,blue socks and red shoes)colour socks and colourshoesprint(p.sub(colour,blue socks and red

8、 shoes,count=1)colour socks and redshoessubn()方法執(zhí)行的效果跟sub()一樣,不過它會返回一個二維數(shù)組,包括替換后的新的字符串和總共替換的數(shù)量11.Python里面match()和search()的區(qū)別?答:re模塊中match(pattern,string,flags),檢查string的開頭是否與pattern匹配。re模塊中research(pattern,string,flags),在string搜索pattern的第一個匹配值。print(re.match(super, superstition).span()(0, 5)print(re

9、.match(super, insuperable)Noneprint(re.search(super, superstition).span()(0, 5)print(re.search(super, insuperable).span()(2, 7)12.用Python匹配HTML tag的時候,<.>和<.?>有什么區(qū)別?答:術(shù)語叫貪婪匹配( <.> )和非貪婪匹配(<.?> )例如:test<.*> :test<.*?> :13.Python里面如何生成隨機數(shù)?答:random模塊隨機整數(shù):random.randi

10、nt(a,b):返回隨機整數(shù)x,a<=x<=brandom.randrange(start,stop,step):返回一個范圍在(start,stop,step)之間的隨機整數(shù),不包括結(jié)束值。隨機實數(shù):random.random( ):返回0到1之間的浮點數(shù)random.uniform(a,b):返回指定范圍內(nèi)的浮點數(shù)。14.有沒有一個工具可以幫助查找python的bug和進行靜態(tài)的代碼分析?答:PyChecker是一個python代碼的靜態(tài)分析工具,它可以幫助查找python代碼的bug, 會對代碼的復雜度和格式提出警告Pylint是另外一個工具可以進行codingstandar

11、d檢查15.如何在一個function里面設(shè)置一個全局的變量?答:解決方法是在function的開始插入一個global聲明:def f()global x16.單引號,雙引號,三引號的區(qū)別答:單引號和雙引號是等效的,如果要換行,需要符號(),三引號則可以直接換行,并且可以包含注釋如果要表示Lets go 這個字符串單引號:s4 = Lets go雙引號:s5 = “Lets go”s6 = I realy like“python”!這就是單引號和雙引號都可以表示字符串的原因了2.49  判斷對錯:已知x = 3,那么賦值語句x = 'abcedfg'是無法正常執(zhí)行的

12、。2.50  判斷對錯:Python變量使用前必須先聲明,并且一旦聲明就不能在當前作用域內(nèi)改變其類型了。2.51  判斷對錯:Python不允許使用關(guān)鍵字作為變量名,但是允許使用內(nèi)置函數(shù)名作為變量名,不過這會改變函數(shù)名的含義,所以不建議這樣做。2.52  判斷對錯:在Python中可以使用if作為變量名。2.53  判斷對錯:在Python 3.x中可以使用中文作為變量名。2.54  判斷對錯:Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。2.55  判斷對錯:加法運算符可以用來連接字符串并生成新字符串。2.56

13、60; 判斷對錯:x = 9999*9999這樣的語句在Python中無法運行,因為數(shù)字太大了超出了整型變量的表示范圍。2.57  判斷對錯:3+4j不是合法的Python表達式。2.58  判斷對錯:0o12f是合法的八進制數(shù)字。2.59  判斷對錯:只有Python擴展庫才需要導入以后才能使用其中的對象,Python標準庫不需要導入即可使用其中的所有對象。2.60  判斷對錯:在Python中0xad是合法的十六進制數(shù)字表示形式。2.61  判斷對錯:4j 是合法Python數(shù)字類型。2.62  判斷對錯:Python使用縮進來體

14、現(xiàn)代碼之間的邏輯關(guān)系,對縮進的要求非常嚴格。2.63  判斷對錯:Python代碼的注釋只有一種方式,那就是使用#符號。2.64  判斷對錯:放在一對三引號之間的任何內(nèi)容將被認為是注釋。2.65  判斷對錯:盡管可以使用import語句一次導入任意多個標準庫或擴展庫,但是仍建議每次只導入一個標準庫或擴展庫。2.66  判斷對錯:為了讓代碼更加緊湊,編寫Python程序時應盡量避免加入空格和空行。2.67  判斷對錯:在Python 3.5中運算符+不僅可以實現(xiàn)數(shù)值的相加、字符串連接,還可以實現(xiàn)列表、元組的連接和集合的并集運算。2.68 

15、; 判斷對錯:在Python中可以使用 for 作為變量名。2.69  判斷對錯:在Python中可以使用 id 作為變量名,但是不建議這樣做。2.70  判斷對錯:一個數(shù)字5也是合法的Python表達式。2.71  判斷對錯:執(zhí)行語句from math import sin之后,可以直接使用sin()函數(shù),例如 sin(3)。2.72  判斷對錯:一般來說,Python擴展庫沒有通用于所有版本Python的,安裝時應選擇與已安裝Python的版本對應的擴展庫。2.73  判斷對錯:Python變量名區(qū)分大小寫,所以student和Studen

16、t不是同一個變量。2.74  判斷對錯:在Python 3.x中reduce()是內(nèi)置函數(shù)。2.75  判斷對錯:如果只需要math模塊中的sin()函數(shù),建議使用from math import sin來導入,而不要使用import math導入整個模塊。2.76  判斷對錯:表達式pow(3, 2) = 3 * 2的值為True。2.77  判斷對錯:已知x = 3,那么執(zhí)行語句x+=6之后,x的內(nèi)存地址不變。2.78  判斷對錯:安裝Python擴展庫時只能使用pip工具在線安裝,如果安裝不成功就沒有別的辦法了。2.49  錯2.50  錯2.51  對2.52  錯2.53  對2.54  對2.55  對2.56  錯2.57

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論