當前位置:
首頁 > 知識 > 2018年最常見的Python面試題&答案(中篇)

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



  1. 等於號(==),如果符號兩邊的值相等,則返回True。

>>> {1,3,2,2}=={1,2,3}
True



  1. 不等於號(!=),如果符號兩邊的值不相等,則返回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,則該位的結果為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中,除十進位外還可以使用二進位、八進位和十六進位。




  1. 二進位數字由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大神】

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python開發 的精彩文章:

「我以前很瘦,未來也很瘦,所以」

TAG:Python開發 |