1. 程式人生 > 實用技巧 >python基礎面試題

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)累積函式