1. 程式人生 > >Python面試題:Python基礎篇

Python面試題:Python基礎篇

會的小夥伴請在下方留言吧!^_^

Python基礎篇(80題)

1.為什麼學習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.檔案操作時: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、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.求結果:

A1 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.ossys模組的作用?

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關鍵字。