1. 程式人生 > >經典Python面試題之基礎80問 Python開發

經典Python面試題之基礎80問 Python開發

Python開發 Python編程 Python自動化 Python面試

1. 為什麽學習Python

2. 通過什麽途徑學習的Python

3. Python和JavaPHPCC#C++等其他語言的對比?

4. 簡述解釋型和編譯型編程語言?

5. Python解釋器種類以及特點?

6. 位和字節的關系?

7. b、BKBMBGB 的關系?

8. 請至少列舉5PEP8 規範(越多越好)。

9. 通過代碼實現如下轉換:

二進制轉換成十進制:v = “0b1111011”?

十進制轉換成二進制:v = 18?

八進制轉換成十進制:v = “011”?

十進制轉換成八進制:v = 30?

十六進制轉換成十進制:v = “0x12”?

十進制轉換成十六進制:v = 87

10. 請編寫一個函數實現將IP

地址轉換成一個整數。

如 10.3.9.12 轉換規則為:

10 00001010

? 3 00000011?

9 00001001

? 12 00001100?

再將以上二進制拼接起來計算十進制結果:00001010 00000011 00001001 00001100 = ?

11. python遞歸的最大層數?

12. 求結果:

v1 = 1 or 3?

v2 = 1 and 3?

v3 = 0 and 2 and 1

? v4 = 0 and 2 or 1

? v5 = 0 and 2 or 1 or 4

? v6 = 0 or Flase and 1

13. ascii、unicodeutf-8gbk 區別?

14. 字節碼和機器碼的區別?

15. 三元運算規則以及應用場景?

16. 列舉 Python2Python3的區別?

17. 用一行代碼實現數值交換:

? a = 1

? b = 2

18. Python3和Python2int long的區別?

19. xrange和range的區別?

20. 文件操作時:xreadlinesreadlines的區別?

21. 列舉布爾值為False的常見值?

22. 字符串、列表、元組、字典每個常用的5個方法?

23. lambda表達式格式以及應用場景?

24. pass的作用?

25. *arg和**kwarg

作用

26. is和==的區別

27. 簡述Python的深淺拷貝以及應用場景?

28. Python垃圾回收機制?

29. Python的可變類型和不可變類型?

30. 求結果:

? v = dict.fromkeys(['k1','k2'],[])?

v[‘k1’].append(666)

? print(v)?

v[‘k1’] = 777

? print(v)

31. 求結果:

def num():

return [lambda x:i*x for I in range(4)]

print([m(2) for m in num()])

32. 列舉常見的內置函數?

33. filter、mapreduce的作用?

34. 一行代碼實現9*9乘法表

35. 如何安裝第三方模塊?以及用過哪些第三方模塊?

36. 至少列舉8個常用模塊都有那些?

37. re的matchsearch區別?

38. 什麽是正則的貪婪匹配?

39. 求結果:? a. [ i % 2 for i in range(10) ]? b. ( i % 2 for i in range(10) )

40. 求結果:? a. 1 or 2? b. 1 and 2? c. 1 < (2==2)? d. 1 < 2 == 2

41. def func(a,b=[]) 這種寫法有什麽坑?

42. 如何實現 “1,2,3” 變成 [1,2,3] ?

43. 如何實現[1,2,3]變成[1,2,3] ?

44. 比較: a = [1,2,3] b = [(1),(2),(3) ] 以及 b = [(1,),(2,),(3,) ] 的區別?

45. 如何用一行代碼生成[1,4,9,16,25,36,49,64,81,100] ?

46. 一行代碼實現刪除列表中重復的值 ?

47. 如何在函數中設置一個全局變量?

48. logging模塊的作用?以及應用場景?

49. 請用代碼簡答實現stack

50. 常用字符串格式化哪幾種?

51. 簡述 生成器、叠代器、可叠代對象 以及應用場景?

52. 用Python實現一個二分查找的函數。

53. 談談你對閉包的理解?

54. os和sys模塊的作用?

55. 如何生成一個隨機數?

56. 如何使用python刪除一個文件?

57. 談談你對面向對象的理解?

58. Python面向對象中的繼承有什麽特點?

59. 面向對象深度優先和廣度優先是什麽?

60. 面向對象中super的作用?

61. 是否使用過functools中的函數?其作用是什麽?

62. 列舉面向對象中帶爽下劃線的特殊方法,如:__new____init__

63. 如何判斷是函數還是方法?

64. 靜態方法和類方法區別?

65. 列舉面向對象中的特殊成員以及應用場景

66. 1、2345 能組成多少個互不相同且無重復的三位數

67. 什麽是反射?以及應用場景?

68. metaclass作用?以及應用場景?

69. 用盡量多的方法實現單例模式。

70. 裝飾器的寫法以及應用場景。

71. 異常處理寫法以及如何主動跑出異常(應用場景)

72. 什麽是面向對象的mro

73. isinstance作用以及應用場景?

74. 寫代碼並實現:

Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would

have exactly one solution, and you may not use the same element twice.

Example:?

Given nums = [2, 7, 11, 15], target = 9,

?Because nums[0] + nums[1] = 2 + 7 = 9,?

return [0, 1]

75. json序列化時,可以處理的數據類型有哪些?如何定制支持datetime類型?

76. json序列化時,默認遇到中文會轉換成unicode,如果想要保留中文怎麽辦?

77. 什麽是斷言?應用場景?

78. 有用過with statement嗎?它的好處是什麽?

79. 使用代碼實現查看列舉目錄下的所有文件。

80. 簡述 yieldyield from關鍵字。

老男孩教育Python全棧開發課程,幾經沈澱,杜絕紙上談兵,全企業真實案例結合理論授課,想深入的學習Python開發課程的朋友,可以關註下老男孩教育。



經典Python面試題之基礎80問 Python開發