經典Python面試題之基礎80問 Python開發
2. 通過什麽途徑學習的Python?
3. Python和Java、PHP、C、C#、C++等其他語言的對比?
4. 簡述解釋型和編譯型編程語言?
5. Python解釋器種類以及特點?
6. 位和字節的關系?
7. b、B、KB、MB、GB 的關系?
8. 請至少列舉5個 PEP8 規範(越多越好)。
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、unicode、utf-8、gbk 區別?
14. 字節碼和機器碼的區別?
15. 三元運算規則以及應用場景?
16. 列舉 Python2和Python3的區別?
17. 用一行代碼實現數值交換:
? a = 1
? b = 2
18. Python3和Python2中 int 和 long的區別?
19. xrange和range的區別?
20. 文件操作時:xreadlines和readlines的區別?
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、map、reduce的作用?
34. 一行代碼實現9*9乘法表
35. 如何安裝第三方模塊?以及用過哪些第三方模塊?
36. 至少列舉8個常用模塊都有那些?
37. re的match和search區別?
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、2、3、4、5 能組成多少個互不相同且無重復的三位數
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. 簡述 yield和yield from關鍵字。
老男孩教育Python全棧開發課程,幾經沈澱,杜絕紙上談兵,全企業真實案例結合理論授課,想深入的學習Python開發課程的朋友,可以關註下老男孩教育。
經典Python面試題之基礎80問 Python開發