- 相關(guān)推薦
Python專(zhuān)業(yè)面試試題
1:如何用Python刪除一個(gè)文件?
使用os.remove(filename)或者os.unlink(filename);
2:Python如何copy一個(gè)文件?
shutil模塊有一個(gè)copyfile函數(shù)可以實(shí)現(xiàn)文件拷貝
3:Python是如何進(jìn)行類(lèi)型轉(zhuǎn)換的?
Python提供了將變量或值從一種類(lèi)型轉(zhuǎn)換成另一種類(lèi)型的內(nèi)置函數(shù)。int函數(shù)能夠?qū)⒎蠑?shù)學(xué)格式數(shù)字型字符串轉(zhuǎn)換成整數(shù)。否則,返回錯(cuò)誤信息。
>>> int(”34″)
34
>>> int(”1234ab”) #不能轉(zhuǎn)換成整數(shù)
ValueError: invalid literal for int(): 1234ab
函數(shù)int也能夠把浮點(diǎn)數(shù)轉(zhuǎn)換成整數(shù),但浮點(diǎn)數(shù)的小數(shù)部分被截去。
>>> int(34.1234)
34
>>> int(-2.46)
-2
函數(shù)°oat將整數(shù)和字符串轉(zhuǎn)換成浮點(diǎn)數(shù):
>>> float(”12″)
12.0
>>> float(”1.111111″)
1.111111
函數(shù)str將數(shù)字轉(zhuǎn)換成字符:
>>> str(98)
‘98′
>>> str(”76.765″)
‘76.765′
整數(shù)1和浮點(diǎn)數(shù)1.0在python中是不同的。雖然它們的值相等的,但卻屬于不同的類(lèi)型。這兩個(gè)數(shù)在計(jì)算機(jī)的存儲(chǔ)形式也是不一樣。
4:Python如何定義一個(gè)函數(shù)
函數(shù)的定義形式如
下:
def (arg1, arg2,… argN):
函數(shù)的名字也必須以字母開(kāi)頭,可以包括下劃線“ ”,但不能把Python的
關(guān)鍵字定義成函數(shù)的名字。函數(shù)內(nèi)的語(yǔ)句數(shù)量是任意的,每個(gè)語(yǔ)句至少有
一個(gè)空格的縮進(jìn),以表示此語(yǔ)句屬于這個(gè)函數(shù)的?s進(jìn)結(jié)束的地方,函數(shù)
自然結(jié)束。
下面定義了一個(gè)兩個(gè)數(shù)相加的函數(shù):
>>> def add(p1, p2):
print p1, “+”, p2, “=”, p1+p2
>>> add(1, 2)
1 + 2 = 3
函數(shù)的目的是把一些復(fù)雜的操作隱藏,來(lái)簡(jiǎn)化程序的結(jié)構(gòu),使其容易
閱讀。函數(shù)在調(diào)用前,必須先定義。也可以在一個(gè)函數(shù)內(nèi)部定義函數(shù),內(nèi)
部函數(shù)只有在外部函數(shù)調(diào)用時(shí)才能夠被執(zhí)行。程序調(diào)用函數(shù)時(shí),轉(zhuǎn)到函數(shù)
內(nèi)部執(zhí)行函數(shù)內(nèi)部的語(yǔ)句,函數(shù)執(zhí)行完畢后,返回到它離開(kāi)程序的地方,
執(zhí)行程序的下一條語(yǔ)句。
5:Python是如何進(jìn)行內(nèi)存管理的?
Python的內(nèi)存管理是由Python得解釋器負(fù)責(zé)的,開(kāi)發(fā)人員可以從內(nèi)存管理事務(wù)中解放出來(lái),致力于應(yīng)用程序的開(kāi)發(fā),這樣就使得開(kāi)發(fā)的程序錯(cuò)誤更少,程序更健壯,開(kāi)發(fā)周期更短
6:如何反序的迭代一個(gè)序列?how do I iterate over a sequence in reverse order
如果是一個(gè)list, 最快的解決方案是:
list.reverse()
try:
for x in list:
“do something with x”
finally:
list.reverse()
如果不是list, 最通用但是稍慢的解決方案是:
for i in range(len(sequence)-1, -1, -1):
x = sequence[i]
7:Python里面如何實(shí)現(xiàn)tuple和list的轉(zhuǎn)換?
函數(shù)tuple(seq)可以把所有可迭代的(iterable)序列轉(zhuǎn)換成一個(gè)tuple, 元素不變,排序也不變。
例如,tuple([1,2,3])返回(1,2,3), tuple(’abc’)返回(’a’.’b’,’c’).如果參數(shù)已經(jīng)是一個(gè)tuple的話,函數(shù)不做任何拷貝而直接返回原來(lái)的對(duì)象,所以在不確定對(duì)象是不是tuple的時(shí)候來(lái)調(diào)用tuple()函數(shù)也不是很耗費(fèi)的。
函數(shù)list(seq)可以把所有的序列和可迭代的對(duì)象轉(zhuǎn)換成一個(gè)list,元素不變,排序也不變。
例如 list([1,2,3])返回(1,2,3), list(’abc’)返回['a', 'b', 'c']。如果參數(shù)是一個(gè)list, 她會(huì)像set[:]一樣做一個(gè)拷貝
8:Python面試題:請(qǐng)寫(xiě)出一段Python代碼實(shí)現(xiàn)刪除一個(gè)list里面的重復(fù)元素
可以先把list重新排序,然后從list的最后開(kāi)始掃描,代碼如下:
if List:
List.sort()
last = List[-1]
for i in range(len(List)-2, -1, -1):
if last==List[i]: del List[i]
else: last=List[i]
9:Python文件操作的面試題
1. 如何用Python刪除一個(gè)文件?
使用os.remove(filename)或者os.unlink(filename);
2. Python如何copy一個(gè)文件?
shutil模塊有一個(gè)copyfile函數(shù)可以實(shí)現(xiàn)文件拷貝
【Python專(zhuān)業(yè)面試試題】相關(guān)文章:
SOA專(zhuān)業(yè)面試試題02-07
社工面試面試試題及答案08-04
樂(lè)事面試題11-05
硅谷面試題精選02-03
面試試題設(shè)計(jì)原則08-18
金山的面試題目04-13
那些最經(jīng)典的面試題08-20
護(hù)士面試的面試試題及參考答案07-03
必備.net面試題及答案08-02
面試預(yù)測(cè)試題及答案05-05