2019-11-24自學Python6個月,你能找到工作嗎最岗?快用這份面試題測試一下吧

自學Python已有一段時間了帕胆,就想著找份面試題來檢驗一下自己的學習情況,今天就和大家分享一份自己從網(wǎng)上找到的貨真價實的Python面試題般渡,每道題目看似簡單懒豹,但如果基礎(chǔ)知識不牢固,很容易回答不全面驯用。

1. python 常用數(shù)據(jù)結(jié)構(gòu)有哪些脸秽?請簡要介紹一下。

答:Python中常見的數(shù)據(jù)結(jié)構(gòu)可以統(tǒng)稱為容器(container)蝴乔。序列(如列表和元組)记餐、映射(如字典)以及集合(set)是三類主要的容器。所以淘这,Python常用數(shù)據(jù)結(jié)構(gòu)有:列表剥扣、字典、元組铝穷、集合钠怯。

關(guān)于這個問題,一般也會順帶問:Python中哪些數(shù)據(jù)類型是可變的曙聂,哪些是不可變的晦炊?

答:可變/不可變是針對該對象所指向的內(nèi)存中的值是否可變來判斷的。如可變類型的數(shù)據(jù)類型有:列表宁脊、字典断国、集合;不可變類型的數(shù)據(jù)類型有:字符串榆苞、元組稳衬、數(shù)字

2. 簡要描述 Python 中單引號坐漏、雙引號薄疚、三引號的區(qū)別碧信。

答:首先,單引號和雙引號在使用時基本上沒有什么區(qū)別街夭;

唯一需要注意的是:

當字符串中有單引號時砰碴,最好在外面使用雙引號;

當有雙引號時板丽,最好在外面使用單引號呈枉;

三引號一般不常用,除了用來做注釋外埃碱,還可以用來打印多行字符串猖辫。特殊用途,是可以打印多行字符串乃正。

3. 如何在一個 function 里面設(shè)置一個全局的變量住册?

答:全局變量是指定義在函數(shù)外部的變量婶博。全局變量的作用域為全局瓮具。

局部變量是指定義在函數(shù)內(nèi)部的變量。局部變量的作用域為函數(shù)內(nèi)凡人,除了函數(shù)就無效了名党。

例如:

num=100deffunc():globalnumnum=200num+=100print(num)func()print(num)300300

總結(jié):如果要在函數(shù)中給全局變量賦值,需要用global關(guān)鍵字聲明挠轴。

4. Python 里面如何拷貝一個對象传睹?(賦值、淺拷貝岸晦、深拷貝的區(qū)別)

答:賦值是將一個對象的地址賦值給一個變量欧啤,讓變量指向該地址(舊瓶裝舊酒

淺拷貝就是對引用的拷貝

深拷貝是對對象的資源的拷貝

舉例說明:

(1)

a = ['hello',[1,2,3]]

b = a[:]

print([id(x) for x in a])

print([id(x) for x in b])

a[0] = 'world'

a[1].append(4)

print(a)

print(b)

[34305224, 33841800]

[34305224, 33841800]

['world', [1, 2, 3, 4]]

['hello', [1, 2, 3, 4]]

淺拷貝是在另一塊地址中創(chuàng)建一個新的變量或容器,但是容器內(nèi)的元素的地址均是源對象的元素的地址的拷貝启上。也就是說新的容器中指向了舊的元素(新瓶裝舊酒)邢隧。

(2)

from copy import deepcopy

a = ['hello',[1,2,3]]

b = deepcopy(a)

print([id(x) for x in a])

print([id(x) for x in b])

a[0] = 'world'

a[1].append(4)

print(a)

print(b)

[30766280, 30785352]

[30766280, 31727688]

['world', [1, 2, 3, 4]]

['hello', [1, 2, 3]]

深拷貝是在另一塊地址中創(chuàng)建一個新的變量或容器,同時容器內(nèi)的元素的地址也是新開辟的冈在,僅僅是值相同而已倒慧,是完全的副本。也就是說(新瓶裝新酒)包券。

總 結(jié)

(1)當對象為不可變類型時纫谅,不論是賦值,淺拷貝還是深拷貝溅固,那么改變其中一個值時付秕,另一個都是不會跟著變化的。

(2)當對象為可變對象時侍郭,如果是賦值和淺拷貝询吴,那么改變其中任意一個值俩垃,那么另一個會跟著發(fā)生變化的;如果是深拷貝汰寓,是不會跟著發(fā)生改變的口柳。

5. 如果 custname 字符串的內(nèi)容為 utf-8 的字符,如何將 custname 的內(nèi)容轉(zhuǎn)為 gb18030 的字符串有滑?

答:先將custname編碼格式轉(zhuǎn)換為unicode跃闹,再轉(zhuǎn)換為gb18030。即custname.decode(‘utf-8’).encode(‘gb18030’)毛好。

6. 請寫出一段 Python 代碼實現(xiàn)刪除一個 list 里面的重復元素望艺。

答:方法(一)利用集合set的特性,元素是非重復的

a = [1,2,3,4,5,2,3]

def fun1(a):

? ? a = list(set(a))

? ? print(a)

fun1(a)

[1, 2, 3, 4, 5]

方法(二)利用字典的fromkeys來自動過濾重復值

a = [1,2,3,4,5,2,3]

def fun1(a):

? ? b = {}

? ? b = b.fromkeys(a)

? ? c = list(b.keys())

? ? print(c)

c = fun1(a)

7. 這兩個參數(shù)是什么意思:*args肌访,**kwargs找默?

答:首先,*args和**kwargs并不是必須這樣寫吼驶,只有前面的*和**才是必須的惩激,你可以寫成*var和**vars。

其次蟹演,*args和**kwargs主要用于函數(shù)定義风钻,你可以將不定量的參數(shù)傳遞給一個函數(shù)。

其中酒请,*args是用來發(fā)送一個非鍵值對的可變數(shù)量的參數(shù)列表給一個函數(shù)骡技;

**kwargs則允許將不定長度的鍵值對,作為參數(shù)傳遞給一個函數(shù)羞反,如果你想要在一個函數(shù)里處理帶名字的參數(shù)布朦,你應該使用**kwargs。

8. 統(tǒng)計如下 list 單詞及其出現(xiàn)次數(shù)昼窗。

a=['apple', 'banana', 'apple', 'tomato', 'orange', 'apple', 'banana', 'watermeton']

答:我能想到的最簡單的方法就是用collection庫

from collections import Counter

a = ['apple', 'banana', 'apple', 'tomato', 'orange', 'apple', 'banana', 'watermeton']

b = Counter(a)

print(b)

Counter({'apple': 3, 'banana': 2, 'tomato': 1, 'orange': 1, 'watermeton': 1})

9. 給列表中的字典排序:假設(shè)有如下 list 對象

alist=[{"name":"a", "age":20}, {"name":"b", "age":30}, {"name":"c", "age":25}]

將 alist 中的元素按照 age 從大到小排序是趴。

答:利用list的內(nèi)置函數(shù)sort來進行排序

alist=[{"name":"a", "age":20}, {"name":"b", "age":30}, {"name":"c", "age":25}]

alist.sort(key=lambda x:x['age'])

print(alist)

[{'name': 'a', 'age': 20}, {'name': 'c', 'age': 25}, {'name': 'b', 'age': 30}]

10. 寫出下列代碼的運行結(jié)果

a = 1

def fun(a):

? a = 2

fun(a)

print(a)

a = []

def fun(a):

? a.append(1)

fun(a)

print(a)

class Person:

? ? name = 'Lily'

p1 = Person()

p2 = Person()

p1.name = 'Bob'

print(p1.name)

print(p2.name)

print(Person.name)

答:第一段代碼的運行結(jié)果為:1

第二段代碼的運行結(jié)果為:[1]

第三段代碼的運行結(jié)果為:

Bob

Lily

Lily

11. 假設(shè)有如下兩個 list:a = ['a', 'b', 'c', 'd', 'e'],b = [1, 2, 3, 4, 5]膏秫,將 a 中的元素作為 key右遭,b 中元素作為 value,將 a缤削,b 合并為字典窘哈。

答:

a = ['a','b','c','d','e']

b = [1,2,3,4,5]

c = dict(zip(a,b))

print(c)

總結(jié)

通過做這份真實的面試題,我發(fā)現(xiàn)自己對一些知識掌握的比較模糊亭敢,基礎(chǔ)知識還有待進一步的滚婉,導致對一些問題回答的還不夠全面。

最后帅刀,我覺得這也是一種學Python的好方法呀让腹,可以不斷檢驗自己的學習情況远剩,督促自己不斷進步。

小伙伴們骇窍,你們做對了幾道呀瓜晤?歡迎留言交流Python學習。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末腹纳,一起剝皮案震驚了整個濱河市痢掠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嘲恍,老刑警劉巖足画,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異佃牛,居然都是意外死亡淹辞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門俘侠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來象缀,“玉大人,你說我怎么就攤上這事兼贡」ダ洌” “怎么了娃胆?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵遍希,是天一觀的道長。 經(jīng)常有香客問我里烦,道長凿蒜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任胁黑,我火速辦了婚禮废封,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘丧蘸。我一直安慰自己漂洋,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布力喷。 她就那樣靜靜地躺著刽漂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弟孟。 梳的紋絲不亂的頭發(fā)上贝咙,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音拂募,去河邊找鬼庭猩。 笑死窟她,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的蔼水。 我是一名探鬼主播震糖,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼趴腋!你這毒婦竟也來了试伙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤于样,失蹤者是張志新(化名)和其女友劉穎疏叨,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體穿剖,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡蚤蔓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了糊余。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秀又。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖贬芥,靈堂內(nèi)的尸體忽然破棺而出吐辙,到底是詐尸還是另有隱情,我是刑警寧澤蘸劈,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布昏苏,位于F島的核電站,受9級特大地震影響威沫,放射性物質(zhì)發(fā)生泄漏贤惯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一棒掠、第九天 我趴在偏房一處隱蔽的房頂上張望孵构。 院中可真熱鬧,春花似錦烟很、人聲如沸颈墅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恤筛。三九已至,卻和暖如春谜酒,著一層夾襖步出監(jiān)牢的瞬間叹俏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工僻族, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留粘驰,地道東北人屡谐。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像蝌数,于是被迫代替她去往敵國和親愕掏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容