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.檔案操作時: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
關鍵字。