2018年最常見的Python面試題&答案(中篇)
點擊上方「
Python開發
」,選擇「置頂公眾號」
關鍵時刻,第一時間送達!
作者:景略集智 來源:掘金
https://juejin.im/post/5b6bc1d16fb9a04f9c43edc3
Python開發整理髮布,轉載請聯繫作者獲得授權
Q 21. 怎樣將字元串轉換為小寫?
我們使用lower()方法。
>>> "AyuShi".lower()
結果:
『ayushi』
使用upper()方法可以將其轉換為大寫。
>>> "AyuShi".upper()
結果:
『AYUSHI』
另外,使用isupper()和islower()方法檢查字元春是否全為大寫或小寫。
>>> "AyuShi".isupper()
False
>>> "AYUSHI".isupper()
True
>>> "ayushi".islower()
True
>>> "@yu$hi".islower()
True
>>> "@YU$HI".isupper()
True
那麼,像@和$這樣的字元既滿足大寫也滿足小寫。
Istitle()能告訴我們一個字元串是否為標題格式。
>>> "The Corpse Bride".istitle()
True
Q 22. Python中的pass語句是什麼?
在用Python寫代碼時,有時可能還沒想好函數怎麼寫,只寫了函數聲明,但為了保證語法正確,必須輸入一些東西,在這種情況下,我們會使用pass語句。
>>> def func(*args):
pass
>>>
同樣,break語句能讓我們跳出循環。
>>> for i in range(7):
if i==3: break
print(i)
結果:
0
1
2
最後,continue語句能讓我們跳到下個循環。
>>> for i in range(7):
if i==3: continue
print(i)
結果:
0
1
2
4
5
6
Q 23. Python中的閉包是什麼?
當一個嵌套函數在其外部區域引用了一個值時,該嵌套函數就是一個閉包。其意義就是會記錄這個值。
>>> def A(x):
def B():
print(x)
return B
>>> A(7)()
結果:
7
更多關於閉包的知識,請參看這裡:
https://data-flair.training/blogs/python-closure/
Q 24. 解釋一下Python中的//,%和 ** 運算符
//運算符執行地板除法(向下取整除),它會返回整除結果的整數部分。
>>> 7//2
3
這裡整除後會返回3.5。
同樣地,
執行取冪運算。a
b會返回a的b次方。>>> 2**10
1024
最後,%執行取模運算,返回除法的餘數。
>>> 13%7
6
>>> 3.5%1.5
0.5
Q 25. 在Python中有多少種運算符?解釋一下算數運算符。
在Python中,我們有7種運算符:算術運算符、關係運算符、賦值運算符、邏輯運算符、位運算符、成員運算符、身份運算符。
我們有7個算術運算符,能讓我們對數值進行算術運算:
1.加號(+),將兩個值相加
>>> 7+8
15
2.減號(-),將第一個值減去第二個值
>>> 7-8
-1
3.乘號(*),將兩個值相乘
>>> 7*8
56
4.除號(/),用第二個值除以第一個值
>>> 7/8
0.875
>>> 1/1
1.0
5.向下取整除、取模和取冪運算,參見上個問題。
Q 26. 解釋一下Python中的關係運算符
關係運算符用於比較兩個值。
1.小於號(<),如果左邊的值較小,則返回True。
>>> "hi"<"Hi"
False
2.大於號(>),如果左邊的值較大,則返回True。
>>> 1.1+2.2>3.3
True
3.小於等於號(<=),如果左邊的值小於或等於右邊的值,則返回Ture。
>>> 3.0<=3
True
4.大於等於號(>=),如果左邊的值大於或等於右邊的值,則返回True。
>>> True>=False
True
等於號(==),如果符號兩邊的值相等,則返回True。
>>> {1,3,2,2}=={1,2,3}
True
不等於號(!=),如果符號兩邊的值不相等,則返回True。
>>> True!=0.1
True
>>> False!=0.1
True
Q 27. 解釋一下Python中的賦值運算符
這在Python面試中是個重要的面試問題。
我們將所有的算術運算符和賦值符號放在一起展示:
>>> a=7
>>> a+=1
>>> a
8
>>> a-=1
>>> a
7
>>> a*=2
>>> a
14
>>> a/=2
>>> a
7.0
>>> a**=2
>>> a
49
>>> a//=3
>>> a
16.0
>>> a%=4
>>> a
0.0
Q 28. 解釋一下Python中的邏輯運算符
Python中有3個邏輯運算符:and,or,not。
>>> False and True
False
>>> 7<7 or True
True
>>> not 2==2
False
Q 29. 解釋一下Python中的成員運算符
通過成員運算符『in』和『not in』,我們可以確認一個值是否是另一個值的成員。
>>> "me" in "disappointment"
True
>>> "us" not in "disappointment"
True
Q 30. 解釋一下Python中的身份運算符
這也是一個在Python面試中常問的問題。
通過身份運算符『is』和『is not』,我們可以確認兩個值是否相同。
>>> 10 is "10"
False
>>> True is not False
True
Q 31. 講講Python中的位運算符
該運算符按二進位位對值進行操作。
與(&),按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0
>>> 0b110 & 0b010
2
2.或(|),按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。
>>> 3|2
3
3.異或(^),按位異或運算符:當兩對應的二進位相異時,結果為1
>>> 3^2
1
4.取反(~),按位取反運算符:對數據的每個二進位位取反,即把1變為0,把0變為1
>>> ~2
-3
5.左位移(<<),運算數的各二進位全部左移若干位,由 << 右邊的數字指定了移動的位數,高位丟棄,低位補0
>>> 1<<2
4
6.右位移(>>),把」>>」左邊的運算數的各二進位全部右移若干位,>> 右邊的數字指定了移動的位數
>>> 4>>2
1
更多關於運算符的知識,參考這裡:
https://data-flair.training/blogs/python-operator/
Q 32. 在Python中如何使用多進位數字?
我們在Python中,除十進位外還可以使用二進位、八進位和十六進位。
二進位數字由0和1組成,我們使用 0b 或 0B 前綴表示二進位數。
>>> int(0b1010)
10
2.使用bin()函數將一個數字轉換為它的二進位形式。
>>> bin(0xf)
『0b1111』
3.八進位數由數字 0-7 組成,用前綴 0o 或 0O 表示 8 進位數。
>>> oct(8)
『0o10』
4.十六進數由數字 0-15 組成,用前綴 0x 或者 0X 表示 16 進位數。
>>> hex(16)
『0x10』
>>> hex(15)
『0xf』
Q 33. 怎樣獲取字典中所有鍵的列表?
使用 keys() 獲取字典中的所有鍵
>>> mydict={"a":1,"b":2,"c":3,"e":5}
>>> mydict.keys()
dict_keys(["a", "b", "c", "e"])
Q 34. 為何不建議以下劃線作為標識符的開頭
因為Python並沒有私有變數的概念,所以約定速成以下劃線為開頭來聲明一個變數為私有。所以如果你不想讓變數私有,就不要使用下劃線開頭。
Q 35. 怎樣聲明多個變數並賦值?
一共有兩種方式:
>>> a,b,c=3,4,5 #This assigns 3, 4, and 5 to a, b, and c respectively
>>> a=b=c=3 #This assigns 3 to a, b, and c
Q 36. 元組的解封裝是什麼?
首先我們來看解封裝:
>>> mytuple=3,4,5
>>> mytuple
(3, 4, 5)
這將 3,4,5 封裝到元組 mytuple 中。
現在我們將這些值解封裝到變數 x,y,z 中:
>>> x,y,z=mytuple
>>> x+y+z
得到結果12.
結語
以上就是Python面試中一些常見的問題及其答案,我們在下篇會接著分享更多問題,歡迎關注。
【點擊成為Java大神】
TAG:Python開發 |