python面試題匯總
阿新 • • 發佈:2019-03-14
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面試題匯總