創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)公司是一家以網(wǎng)站設(shè)計(jì)建設(shè),小程序開發(fā)、網(wǎng)站開發(fā)設(shè)計(jì),網(wǎng)絡(luò)軟件產(chǎn)品開發(fā),企業(yè)互聯(lián)網(wǎng)推廣服務(wù)為主的民營科技公司。主要業(yè)務(wù)涵蓋:為客戶提供網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站開發(fā)、空間域名、網(wǎng)站優(yōu)化排名、外鏈等服務(wù)領(lǐng)域。憑借建站老客戶口碑做市場(chǎng),建設(shè)網(wǎng)站時(shí),根據(jù)市場(chǎng)搜索規(guī)律和搜索引擎的排名收錄規(guī)律編程,全力為建站客戶設(shè)計(jì)制作排名好的網(wǎng)站,深受老客戶認(rèn)可和贊譽(yù)。這篇文章主要介紹python中常見的面試題哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
1、python有哪些特性?
python是一門解釋性開發(fā)語言,主要特點(diǎn)有:
可解釋
具有動(dòng)態(tài)特性
面向?qū)ο?br/>簡(jiǎn)明簡(jiǎn)單
開源
具有強(qiáng)大的社區(qū)支持
2、深拷貝和淺拷貝之間的區(qū)別是?
深拷貝就是完全復(fù)制一個(gè)對(duì)象拷貝到另一個(gè)對(duì)象中,如果你對(duì)一個(gè)對(duì)象的拷貝做出改變時(shí),不會(huì)影響原對(duì)象。在Python中使用函數(shù)deepcopy()執(zhí)行深拷貝,導(dǎo)入模塊copy,
>>> import copy >>> b=copy.deepcopy(a)
淺拷貝知識(shí)復(fù)制一個(gè)對(duì)象的指針不復(fù)制其本身,如果我們?cè)诳截愔懈膭?dòng),會(huì)影響到原對(duì)象。我們使用函數(shù)function()執(zhí)行淺拷貝,
>>> b=copy.copy(a)
3、列表和元祖之間區(qū)別是?
列表和元祖之間主要是可變性不同,列表是可變的而元祖是不可變的,下面列舉的實(shí)列說明:
>>> mylist=[1,3,3] >>> mylist[1]=2 >>> mytuple=(1,3,3) >>> mytuple[1]=2Traceback (most recent call last): File "<pyshell#97>", line 1, in <module> mytuple[1]=2
則會(huì)出現(xiàn)以下報(bào)錯(cuò)
TypeError: ‘tuple’ object does not support item assignment
4、什么是Flask?
Flask是Python編寫的一款輕量級(jí)Web應(yīng)用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎則使用 Jinja2。Flask使用 BSD 授權(quán)。其中兩個(gè)環(huán)境依賴是Werkzeug和jinja2,這意味著它不需要依賴外部庫。正因如此,我們將其稱為輕量級(jí)框架。
Flask會(huì)話使用簽名cookie讓用戶查看和修改會(huì)話內(nèi)容。它會(huì)記錄從一個(gè)請(qǐng)求到另一個(gè)請(qǐng)求的信息。不過,要想修改會(huì)話,用戶必須有密鑰Flask.secret_key。
5、在Python中是如何管理內(nèi)存的?
Python有一個(gè)私有堆空間來保存所有的對(duì)象和數(shù)據(jù)結(jié)構(gòu)。作為開發(fā)者,我們無法訪問它,是解釋器在管理它。但是有了核心API后,我們可以訪問一些工具。Python內(nèi)存管理器控制內(nèi)存分配。
另外,內(nèi)置垃圾回收器會(huì)回收使用所有的未使用內(nèi)存,所以使其適用于堆空間。
6、解釋python中的help()和dir()函數(shù)?
Help()函數(shù)是一個(gè)內(nèi)置函數(shù),用于查看函數(shù)或模塊用途的詳細(xì)說明
>>> import copy >> help(copy.copy)
Help on function copy in module copy: copy(x) Shallow copy operation on arbitrary Python objects. See the module’s __doc__ string for more info.
Dir()函數(shù)也是內(nèi)置函數(shù),dir() 函數(shù)不帶參數(shù)時(shí),返回當(dāng)前范圍內(nèi)的變量、方法和定義的類型列表;帶參數(shù)時(shí),返回參數(shù)的屬性、方法列表。
>>> dir(copy.copy)
運(yùn)行結(jié)果 [‘__annotations__’, ‘__call__’, ‘__class__’, ‘__closure__’, ‘__code__’, ‘__defaults__’, ‘__delattr__’, ‘__dict__’, ‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’, ‘__get__’, ‘__getattribute__’, ‘__globals__’, ‘__gt__’, ‘__hash__’, ‘__init__’, ‘__init_subclass__’, ‘__kwdefaults__’, ‘__le__’, ‘__lt__’, ‘__module__’, ‘__name__’, ‘__ne__’, ‘__new__’, ‘__qualname__’, ‘__reduce__’, ‘__reduce_ex__’, ‘__repr__’, ‘__setattr__’, ‘__sizeof__’, ‘__str__’, ‘__subclasshook__’]
7、什么是猴子補(bǔ)?。?/strong>
在運(yùn)行期間動(dòng)態(tài)修改一個(gè)類或模塊。
>>> class A: def func(self): print("Hi") >>> def monkey(self):print "Hi, monkey" >>> m.A.func = monkey >>> a = m.A() >>> a.func() 運(yùn)行結(jié)果: Hi, Monkey
8、請(qǐng)解釋下使用*args和*kwargs含義?
當(dāng)我們不知道向函數(shù)傳遞多少參數(shù)時(shí),比如我們向傳遞一個(gè)列表或元組,我們就使用*args。
>>> def func(*args): for i in args: print(i) >>> func(3,2,1,4,7) 運(yùn)行結(jié)果為: 3 2 1 4 7
在不知道該傳遞多少關(guān)鍵字參數(shù)時(shí),使用**kwargs來收集關(guān)鍵字參數(shù)
>>> def func(**kwargs): for i in kwargs: print(i,kwargs[i]) >>> func(a=1,b=2,c=7) 運(yùn)行結(jié)果為:a.1 b.2 c.7
9、python中的字典是什么?
Python字典是一個(gè)容器,可以裝列表,變量,字符串,浮點(diǎn)數(shù)等。。。。
注意:
1. Python的字典是一對(duì)一的形式,key:value,可以理解key是下標(biāo),value是內(nèi)容
標(biāo)準(zhǔn)形式:{a:b},那么a就相當(dāng)于下標(biāo),value就相當(dāng)于內(nèi)容。
2.下標(biāo)是唯一的,即key賦值的時(shí)候不可以重復(fù),不可用變量去賦值他,因?yàn)榱斜硎强勺兊模幸膊荒苡昧斜砣ベx值
3.字典的存儲(chǔ)沒有順序,我們憑借key值去取value的內(nèi)容
>>> roots={25:5,16:4,9:3,4:2,1:1} >>> type(roots)<class 'dict' >>> roots[9] 運(yùn)行結(jié)果為: 3
字典是不可變的,可以用一個(gè)推導(dǎo)式來創(chuàng)建它
>>> roots={x**2:x for x in range(5,0,-1)} >>> roots 運(yùn)行結(jié)果為: {25: 5, 16: 4, 9: 3, 4: 2, 1: 1}
10、什么是負(fù)索引?
Python中的序列索引可以是正也可以是負(fù)。
如果是正索引,0是序列中的第一個(gè)索引,1是第二個(gè)索引。
如果是負(fù)索引,-1是最后一個(gè)索引,-2是倒數(shù)第二個(gè)索引。
>>> lst=[11,22,33,44,55] 全取列表 >>> lst[:] [11, 22, 33, 44, 55]
列表倒序 >>> lst[::-1] [55, 44, 33, 22, 11] 取最后一個(gè) >>> lst[-1] 55 取第一個(gè) >>>lst[0] 11
11、解釋一下python中的成員運(yùn)輸符?
通過成員運(yùn)算符‘in’和‘not in’,我們可以確認(rèn)一個(gè)值是否是另一個(gè)值的成員
>>> 'me' in 'disappointment' True >>> 'us' not in 'disappointment' True
12、講下python中的位運(yùn)算符?
與(&),按位與運(yùn)算符:參與運(yùn)算的兩個(gè)值,如果兩個(gè)相應(yīng)位都為1,則該位的結(jié)果為1,否則為0
>>> 0b110 & 0b010 2
或(|),按位或運(yùn)算符:只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1
>>> 3|2 3
異或(^),按位異或運(yùn)算符:當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1
>>> 3^2 1
取反(~),按位取反運(yùn)算符:對(duì)數(shù)據(jù)的每個(gè)二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?
>>> ~2 -3
左位移(<<),運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由 << 右邊的數(shù)字指定了移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0
>>> 1<<2 4
右位移(>>),把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,>> 右邊的數(shù)字指定了移動(dòng)的位數(shù)
>>> 4>>2 1
以上是python中常見的面試題哪些的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
新聞標(biāo)題:python中常見的面試題哪些-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://www.rwnh.cn/article46/epjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、建站公司、標(biāo)簽優(yōu)化、外貿(mào)建站、微信公眾號(hào)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)