溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中常見的面試題哪些

發(fā)布時間:2020-07-17 10:10:56 來源:億速云 閱讀:154 作者:清晨 欄目:編程語言

這篇文章主要介紹python中常見的面試題哪些,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

1、python有哪些特性?

python是一門解釋性開發(fā)語言,主要特點(diǎn)有:

可解釋
具有動態(tài)特性
面向?qū)ο?br/>簡明簡單
開源
具有強(qiáng)大的社區(qū)支持

2、深拷貝和淺拷貝之間的區(qū)別是?

深拷貝就是完全復(fù)制一個對象拷貝到另一個對象中,如果你對一個對象的拷貝做出改變時,不會影響原對象。在Python中使用函數(shù)deepcopy()執(zhí)行深拷貝,導(dǎo)入模塊copy,

>>> import copy
>>> b=copy.deepcopy(a)

python中常見的面試題哪些

淺拷貝知識復(fù)制一個對象的指針不復(fù)制其本身,如果我們在拷貝中改動,會影響到原對象。我們使用函數(shù)function()執(zhí)行淺拷貝,

>>> b=copy.copy(a)

python中常見的面試題哪些

3、列表和元祖之間區(qū)別是?

列表和元祖之間主要是可變性不同,列表是可變的而元祖是不可變的,下面列舉的實列說明:

>>> 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

則會出現(xiàn)以下報錯

TypeError: ‘tuple’ object does not support item assignment

4、什么是Flask?

Flask是Python編寫的一款輕量級Web應(yīng)用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎則使用 Jinja2。Flask使用 BSD 授權(quán)。其中兩個環(huán)境依賴是Werkzeug和jinja2,這意味著它不需要依賴外部庫。正因如此,我們將其稱為輕量級框架。

Flask會話使用簽名cookie讓用戶查看和修改會話內(nèi)容。它會記錄從一個請求到另一個請求的信息。不過,要想修改會話,用戶必須有密鑰Flask.secret_key。

5、在Python中是如何管理內(nèi)存的?

Python有一個私有堆空間來保存所有的對象和數(shù)據(jù)結(jié)構(gòu)。作為開發(fā)者,我們無法訪問它,是解釋器在管理它。但是有了核心API后,我們可以訪問一些工具。Python內(nèi)存管理器控制內(nèi)存分配。

另外,內(nèi)置垃圾回收器會回收使用所有的未使用內(nèi)存,所以使其適用于堆空間。

6、解釋python中的help()和dir()函數(shù)?

Help()函數(shù)是一個內(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ù)時,返回當(dāng)前范圍內(nèi)的變量、方法和定義的類型列表;帶參數(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ǔ)???

在運(yùn)行期間動態(tài)修改一個類或模塊。

>>> 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、請解釋下使用*args和*kwargs含義?

當(dāng)我們不知道向函數(shù)傳遞多少參數(shù)時,比如我們向傳遞一個列表或元組,我們就使用*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ù)時,使用**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字典是一個容器,可以裝列表,變量,字符串,浮點(diǎn)數(shù)等。。。。

注意:

1. Python的字典是一對一的形式,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賦值的時候不可以重復(fù),不可用變量去賦值他,因為列表是可變的,所有也不能用列表去賦值

3.字典的存儲沒有順序,我們憑借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

字典是不可變的,可以用一個推導(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是序列中的第一個索引,1是第二個索引。

如果是負(fù)索引,-1是最后一個索引,-2是倒數(shù)第二個索引。

>>> lst=[11,22,33,44,55]
全取列表
>>> lst[:]
[11, 22, 33, 44, 55]
列表倒序
>>> lst[::-1]
[55, 44, 33, 22, 11]
取最后一個
>>> lst[-1]
55

取第一個
>>>lst[0]
11

11、解釋一下python中的成員運(yùn)輸符?

通過成員運(yùn)算符‘in’和‘not in’,我們可以確認(rèn)一個值是否是另一個值的成員

>>> 'me' in 'disappointment'
True >>> 'us' not in 'disappointment'
True

12、講下python中的位運(yùn)算符?

與(&),按位與運(yùn)算符:參與運(yùn)算的兩個值,如果兩個相應(yīng)位都為1,則該位的結(jié)果為1,否則為0

>>> 0b110 & 0b010
2

或(|),按位或運(yùn)算符:只要對應(yīng)的二個二進(jìn)位有一個為1時,結(jié)果位就為1

>>> 3|2
3

異或(^),按位異或運(yùn)算符:當(dāng)兩對應(yīng)的二進(jìn)位相異時,結(jié)果為1

>>> 3^2
1

取反(~),按位取反運(yùn)算符:對數(shù)據(jù)的每個二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?

>>> ~2
-3

左位移(<<),運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由 << 右邊的數(shù)字指定了移動的位數(shù),高位丟棄,低位補(bǔ)0

>>> 1<<2
4

右位移(>>),把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,>> 右邊的數(shù)字指定了移動的位數(shù)

>>> 4>>2
1

以上是python中常見的面試題哪些的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI