Python面試真題來嘍!

今天的乾貨放送,浙江優就業為大家帶來了Python面試的真題喲,學Python的小夥伴們快來看一看吖~

Python面試真題來嘍!

1.如何用Python來進行查詢和替換一個文本字符串?

答:可以使用re模塊中的sub()函數或者subn()函數來進行查詢和替換,

格式:sub(replacement, string[,count=0])(replacement是被替換成的文本,string是需要被替換的文本,count是一個可選參數,指最大被替換的數量)

>>> import re

>>>p=re.compile(‘blue|white|red’)

>>>print(p.sub(‘colour’,'blue socks and red shoes’))

colour socks and colourshoes

>>>print(p.sub(‘colour’,'blue socks and red shoes’,count=1))

colour socks and redshoes

subn()方法執行的效果跟sub()一樣,不過它會返回一個二維數組,包括替換後的新的字符串和總共替換的數量

2.有沒有一個工具可以幫助查找python的bug和進行靜態的代碼分析?

答:PyChecker是一個python代碼的靜態分析工具,它可以幫助查找python代碼的bug, 會對代碼的複雜度和格式提出警告

Pylint是另外一個工具可以進行codingstandard檢查

3.如何在一個function裡面設置一個全局的變量?

def f()

global x

4.用Python匹配HTML tag的時候,<.>和<.>有什麼區別?

答:術語叫貪婪匹配( <.> )和非貪婪匹配(<.> )

例如:

test

<.> :

test

<.> :

5.Python裡面如何生成隨機數?

答:random模塊

隨機整數:random.randint(a,b):返回隨機整數x,a<=x<=b

random.randrange(start,stop,[,step]):返回一個範圍在(start,stop,step)之間的隨機整數,不包括結束值。

隨機實數:random.random( ):返回0到1之間的浮點數

random.uniform(a,b):返回指定範圍內的浮點數。

6.單引號,雙引號,三引號的區別

答:單引號和雙引號是等效的,如果要換行,需要符號(\),三引號則可以直接換行,並且可以包含註釋

如果要表示Let’s go 這個字符串

單引號:s4 = ‘Let\’s go’

雙引號:s5 = “Let’s go”

s6 = ‘I realy like“python”!’

這就是單引號和雙引號都可以表示字符串的原因了

7.Python裡面match()和search()的區別?

答:re模塊中match(pattern,string[,flags]),檢查string的開頭是否與pattern匹配。

re模塊中research(pattern,string[,flags]),在string搜索pattern的第一個匹配值。

>>>print(re.match(‘super’, ‘superstition’).span())

(0, 5)

>>>print(re.match(‘super’, ‘insuperable’))

None

>>>print(re.search(‘super’, ‘superstition’).span())

(0, 5)

>>>print(re.search(‘super’, ‘insuperable’).span())

(2, 7)


分享到:


相關文章: