




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
python基礎(chǔ)練習(xí)測試題
1、列表和元組之間的區(qū)別是?
答:二者的主要區(qū)別是列表是可變的,而元組是不可變的。舉個
例子,如下所示:
?>mylist=[l,3,3]
>?mylist[1]=2
?>mytuple=(1,3,3)
>>>mytuple[l]=2
Traceback(mostrecentcalllast):
File"<pyshell#97>",line1,in<module>
mytuple[l]=2
會出現(xiàn)以下報錯:
TypeError:'tuple'objectdoesnotsupportitem
assignment
關(guān)于列表和元組的更多內(nèi)容,可以查看這里:
從Q4到Q20都是針對新手的Python面試基礎(chǔ)試題,不過有經(jīng)驗
的人也可以看看這些問題,復(fù)習(xí)一下基礎(chǔ)概念。
2、解釋一下Python中的三元運算子?
答:不像C++,我們在Python中沒有?:,但我們有這個:
[ontrue]if[expression]else[onfalse]
如果表達(dá)式為True,就執(zhí)行[ontrue]中的語句。否則,就執(zhí)行
[onfalse]中的語句。
下面是使用它的方法:
?>a,b=2,3
>>>min=aifa<belseb
?>min
運行結(jié)果:2
>>>print("Hi")ifa<belseprint("Bye")
運行結(jié)果:Hi
3、在Python中如何實現(xiàn)多線程?
答:一個線程就是一個輕量級進(jìn)程,多線程能讓我們一次執(zhí)行多
個線程。我們都知道,Python是多線程語言,其內(nèi)置有多線程工具
包。
Python中的GIL(全局解釋器鎖)確保一次執(zhí)行單個線程。一個
線程保存GIL并在將其傳遞給下個線程之前執(zhí)行一些操作,這會讓我
們產(chǎn)生并行運行的錯覺。但實際上,只是線程在CPU上輪流運行。當(dāng)
然,所有的傳遞會增加程序執(zhí)行的內(nèi)存壓力。
4、解釋一下Python中的繼承?
答:當(dāng)一個類繼承自另一個類,它就被稱為一個子類/派生類,
繼承自父類/基類/超類。它會繼承/獲取所有類成員(屬性和方法)。
繼承能讓我們重新使用代碼,也能更容易的創(chuàng)建和維護應(yīng)用。
Python支持如下種類的繼承:
單繼承:一個類繼承自單個基類
多繼承:一個類繼承自多個基類
多級繼承:一個類繼承自單個基類,后者則繼承自另一個基類
分層繼承:多個類繼承自單個基類
混合繼承:兩種或多種類型繼承的混合
5、什么是Flask?
答:Flask是Python編寫的一款輕量級Web應(yīng)用框架。其WSGI
工具箱采用Werkzeug,模板引擎則使用Jinja2°Flask使用BSD授
權(quán)。其中兩個環(huán)境依賴是Werkzeug和jinja2,這意味著它不需要依
賴外部庫。正因如此,我們將其稱為輕量級框架。
Flask會話使用簽名cookie讓用戶查看和修改會話內(nèi)容。它會
記錄從一個請求到另一個請求的信息。不過,要想修改會話,用戶必
須有密鑰Flask.secret_keyo
6、在Python中是如何管理內(nèi)存的?
答:Python有一個私有堆空間來保存所有的對象和數(shù)據(jù)結(jié)構(gòu)。
作為開發(fā)者,我們無法訪問它,是解釋器在管理它。但是有了核心
API后,我們可以訪問一些工具。Python內(nèi)存管理器控制內(nèi)存分配。
另外,內(nèi)置垃圾回收器會回收使用所有的未使用內(nèi)存,所以使其
適用于堆空間。
7、解釋Python中的help。和dir()函數(shù)
答:Help。函數(shù)是一個內(nèi)置函數(shù),用于查看函數(shù)或模塊用途的詳
細(xì)說明:
>>>importcopy
>>>help(copy,copy)
運行結(jié)果為:
Helponfunctioncopyinmodulecopy:
copy(x)
ShallowcopyoperationonarbitraryPythonobjects.
Seethemodule's_doc_stringformoreinfo.
Dir()函數(shù)也是Python內(nèi)置函數(shù),dir()函數(shù)不帶參數(shù)時,返回
當(dāng)前范圍內(nèi)的變量、方法和定義的類型列表;帶參數(shù)時,返回參數(shù)的
屬性、方法列表。
以下實例展示了dir的使用方法:
>>>dir(copy,copy)
運行結(jié)果為:
['_annotations—','_call—','_class_',
'—closure—','_code—','—defaults—','_delattr—',
’_diet_','-dir—','_doc—','_eq_','_format—',
'—ge—','_get_','_getattribute—','_globals—',
gt—','_hash—','—init—','_init_subclass_
kwdefaults—','—le—','—It—','_module_
name—','—ne…','_new—','_qualname_
reduce—','_reduce_ex_','_repr—','_setattr
sizeof—','_str—','_subclasshook—']
8、當(dāng)退出Python時,是否釋放全部內(nèi)存?
答:結(jié)果是Noo循環(huán)引用其它對象或引用自全局命名空間的對
象的模塊,在Python退出時并非完全釋放。
另外,也不會釋放C庫保留的內(nèi)存部分。
9、什么是猴子補?。?/p>
答:在運行期間動態(tài)修改一個類或模塊。
>>>classA:
deffunc(self):
print("Hi")
>>>defmonkey(self):
print"Hi,monkey"
>>>m.A.func=monkey
?>a=m.A()
>>>a.func()
運行結(jié)果為:
Hi,Monkey
10、Python中的字典是什么?
答:字典是C++和Java等編程語言中所沒有的東西,它具有鍵
值對。
?>roots={25:5,16:4,9:3,4:2,1:1}
>>>type(roots)
<class'diet'>
>>>roots[9]
運行結(jié)果為:
3
字典是不可變的,我們也能用一個推導(dǎo)式來創(chuàng)建它。
>>>roots={x**2:xforxinrange(5,0,-1)}
>>>roots
運行結(jié)果:
{25:5,16:4,9:3,4:2,1:1)
11、請解釋使用args和*kwargs的含義
答:當(dāng)我們不知道向函數(shù)傳遞多少參數(shù)時,比如我們向傳遞一個
列表或元組,我們就使用*args。
>>>deffunc(*args):
foriinargs:
print(i)
?>func(3,2,l,4,7)
運行結(jié)果為:
3
2
1
4
7
在我們不知道該傳遞多少關(guān)鍵字參數(shù)時,使用**kwargs來收集
關(guān)鍵字參數(shù)。
>>>deffunc(**kwargs):
foriinkwargs:
print(i,kwargs[i])
?>func(a=l,b=2,c=7)
運行結(jié)果為:
a.1
b.2
c.7
12、請寫一個Python邏輯,計算一個文件中的大寫字母數(shù)量?
答:
>>>importos
>>>os.chdir('C:\\Users\\lifei\\Desktop')
>>>withopen('Today,txt')astoday:
count=0
foriintoday,read():
ifi.isupper():
count+=l
print(count)
運行結(jié)果:
26
13、什么是負(fù)索引?
答:我們先創(chuàng)建這樣一個列表:
?>mylist=[0,1,2,3,4,5,6,7,81
負(fù)索引和正索引不同,它是從右邊開始檢索。
>>>mylist[-3]
運行結(jié)果:
6
它也能用于列表中的切片:
>>>mylist[-6:-1]
結(jié)果:
[3,4,5,6,7]
14、如何以就地操作方式打亂一個列表的元素?
答:為了達(dá)到這個目的,我們從random模塊中導(dǎo)入shuffle。
函數(shù)。
>>>fromrandomimportshuffle
>>>shuffle(mylist)
>>>mylist
復(fù)制代碼
運行結(jié)果:
[3,4,8,0,5,7,6,2,1]
15、解釋Python中的join。和split。函數(shù)?
答:Join。能讓我們將指定字符添加至字符串中。
?>join('12345')
運行結(jié)果:
■,2,3,45
Split。能讓我們用指定字符分割字符串。
?>'l,2,3,4,5'.split(',')
運行結(jié)果:
['1','2','3','4','5']
16、Python區(qū)分大小寫嗎?
答:如果能區(qū)分像myname和Myname這樣的標(biāo)識符,那么它就是
區(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 同行合作合同范本
- 綠化苗木栽植合同范本
- 廠區(qū)圍網(wǎng)維修合同范本
- 合同違約金合同范本-
- 業(yè)務(wù)變更合同范本
- 木門及木飾面制作安裝合同范本
- 健身公司合同范本
- 卡丁車加盟合同范本
- 吊車司機聘用合同范本
- 合同范例主播
- Module1Unit1Welivedinasmallhouse (教案) 英語五年級下冊
- 期末試卷(試題)-2024-2025學(xué)年滬教版三年級上冊數(shù)學(xué)
- 風(fēng)險評估報告模板
- 合肥市2024年中考理化生實驗評分細(xì)則
- 2024年湖南學(xué)業(yè)水平考試地理真題及答案
- 機械供應(yīng)商發(fā)言稿
- 中考數(shù)學(xué)一輪復(fù)習(xí)提升練習(xí)第1章 數(shù)與式真題測試(基礎(chǔ)卷)(原卷版)
- 統(tǒng)編版(2024新教材)七年級上冊語文第一單元測試卷(含答案)
- 2025年中考英語復(fù)習(xí)熱點話題作文范文
- 二手房傭金協(xié)議
- CJT264-2007 水處理用橡膠膜微孔曝氣器
評論
0/150
提交評論