python基礎面試題
面試自動化會遇到一些基礎題,想學自動化,這些是必知必會哦、
1,python有哪幾種資料型別?
數字(number),字串(string),列表即陣列(list),元組(tuple),字典(dict),集合(set)
2,列表和元組的區別?
list是可變的資料型別,可用於修改,刪除等,元組是不可變型別,元組中的元素不可修改,所以元組多用作查詢,效能較好
3,Python裡面如何拷貝一個物件?deepcopy 和 copy的區別?
copy與deepcopy均可複製物件,copy 僅拷貝物件本身,而不拷貝物件中引用的其它物件。deepcopy 除拷貝物件本身,而且拷貝物件中引用的其它物件。
4,python中如何取隨機數?
使用random庫,random.randint(),random.choice()等
5,什麼是lambda函式?
程式設計中提到的 lambda 表示式,通常是在需要一個函式,但是又不想費神去命名一個函式的場合下使用,也就是指匿名函式。
6,python中的*args與**kwargs是什麼?
*args與**kwargs均是指python中的不定長引數,*args是引數以元組形式傳入,**kwargs是引數以鍵值對形式傳入。
7,re.complie的方法是做什麼用的?
re.compile是將正則表示式編譯成一個物件,提升查詢速度,並重復使用
8,try...except...else/finally的用法
try..except..else如果沒有捕獲到異常,那麼就執行else語句,try..except..finally不管是否捕獲到異常,都執行finally語句
9,如何在Python中刪除檔案?
要在Python中刪除檔案,您需要匯入OS模組。使用os.remove()函式。
10,python資料格式是否可以轉換
可以強制轉換,例如str(int),這樣一個int型別的資料,就轉為了字串
11,如何實現列表去重?
使用set集合去重,在轉換為列表,舉例:
list1 = [1,2,3,1,4,1]
list2 = list(set(list1))
12,is和==的區別?
is:判斷記憶體地址是否相等;==:判斷數值是否相等
13、ascii,unicode,utf-8,gbk幾種編碼的區別?
-
ASCII碼:使用一個位元組編碼,所以它的範圍基本是隻有英文字母、數字和一些特殊符號,只有256個字元。
-
Unicode:能夠表示全世界所有的位元組
-
GBK:是隻用來編碼漢字的,GBK全稱《漢字內碼擴充套件規範》,使用雙位元組編碼。
-
UTF-8:是一種針對Unicode的可變長度字元編碼,用的最多,支援中文。
14,字串的分割怎麼用?
使用split()方法,舉例:
str1 = 'abcdefg' print(str1.split('b',2)) # 從元素b開始分為兩部分
15,python中的zip函式是用來做什麼的,怎麼使用?
zip()函式是將可迭代物件打包轉換為對應的一個個元組,然後返回這些元組所組成的陣列,python3中是組成了一個迭代器物件。舉例:
a = '123' b = '456' zipped = zip(a,b) for i in zipped: print(i) >>>('1', '4') >>>('2', '5') >>>('3', '6')
16,如何使用zip和dict結合建立字典?
dict1 = dict(zip(('a','b','c'),('1','2','3'))) >>>{'a': 1, 'b': 2, 'c': 3}
17,Python的可變型別和不可變型別?
可變型別:list、dict、set
不可變型別:string、int、float、tuple
18,常用字串格式化哪幾種?
print('%s今年5歲'%('小明')) # 方法1 print('{}今年5歲'.format('小明')) # 方法2 a = '小明' print(f'{a}今年5歲') # 方法3
19,面向物件中__new__、__init__的含義
__init__:為物件定製自己獨有的特徵,__new__:用來將類例項化的
20,filter、map、reduce的作用?
-
filter(function,iterable)過濾函式
-
map(function,iterable)迴圈函式
-
reduce(function, iterable)累積函式