1. 程式人生 > >python面試題匯總

python面試題匯總

dict 字符 不變 返回 集合 true lis info 類型

1、and或or



v= 1 and 3 and 2
print(v)
2

v= 1 and 3 and 0
print(v)
0

v = 1  or  2  or  0
print(v)
1

v = 1  and  2  or  0
print(v)
2

Python中的and從左到右計算表達式,若所有的值均為真,則返回最後一個值,若存在假,返回第一個假值

or也是從左到右計算表達式,返回第一個為真的值

2、GIL鎖

全局解釋器鎖,同一時刻只能有一個線程訪問CPU,鎖的是線程,線程本身可以在同一時間使用多個CPU,Cpython解釋器防止在解釋代碼的過程中產生數據不安全問題。

3、is和==的區別

Python中包含三個基本元素:ID(身份標識),type(數據類型),value(值)

其中ID用來唯一標識一個對象,type標識對象類型,value標識對象的一個值

is判斷的是a對象是否就是b對象,是通過ID來判斷

==判斷的是a對象的值是否和b對象的值相等,是通過value來判斷,,所以is 就是判斷兩個對象的id是否相同, 而 == 判斷的則是內容是否相同。

4、 Python中的可變對象和不可變對象

不可變對象:對象所指向的內存中的值不能被改變,當改變這個變量的時候,原來指向的內存中的值不變,變量不再指向原來的值,而是開辟一塊新的內存,變量指向新的內存。

通俗來講變量值改變,id值也改變,例如:

a = ‘hello‘
print(id(a))

a = a+‘hi‘
print(id(a))


1579546360552
1579547940488

數值類型int 、float、 字符串str 、元祖tuple、boole 都是不可變對象

可變對象:對象指向的內存中的值會改變,當更改這個變量的時候,還是指向原來內存中的值,並且在原來的內存值進行原地修改,並沒有開辟新的內存。

dic = {
    ‘name‘:‘alex‘,
    ‘age‘:18
}
print(id(dic))

dic[‘hobby‘]=‘lanqiu ‘
print(id(dic))

1579542439176
1579542439176

列表list、集合set、字典dict都是可變對象

5、osi七層協議復習總結

技術分享圖片

6、TCP與UDP的復習總結

python面試題匯總