python基础题面试_python常见面试题
面試自動(dòng)化會(huì)遇到的面試題,分享一波,就不排版了,多多見(jiàn)諒。
先上幾道編程題
001 求數(shù)值以?xún)?nèi)的質(zhì)數(shù),合數(shù)及個(gè)數(shù)
#質(zhì)數(shù)
defzhishu(number):
num=0for i in range(2,number+1):
k=Truefor j in range(2,i):if i==j:continue
if(i%j==0):
k=Falsebreak
if(k==True):print("%d"%i)
num=num+1
print("素?cái)?shù)個(gè)數(shù)%d"%num)#合數(shù)
defheshu(number):
num=[]for i in range(2,number+1):for j in range(2,i):if i==j:continue
if i%j==0:print(i)
num.append(i)break
print(f'{number}以?xún)?nèi)合數(shù)個(gè)數(shù):{len(num)}')
002 九九乘法表
#九九乘法表1
for i in range(1,10):for j in range(1,i+1):print('%d*%d=%d'%(i,j,i*j)+'\t',end='') #常用格式化方式#d,%s
print(f'{i}*{j}={i*j}\t',end='') #f-string量格式化字符串
print()#九九乘法表2
n = 1
while n<=9:
i=1
while i<=n:print(f'{i}*{n}={i*n}',end=' ')
i=i+1n=n+1
print()
003?x,y由人為輸入的整數(shù),求x的y次方,不允許使用**
x = int(input('請(qǐng)輸入X:'))
y= int(input('請(qǐng)輸入Y:'))
res=xfor i in range(y-1):
res*=xprint(res)
004?裴波那契數(shù)列(這個(gè)我遇到N次)
#方法1,遞歸對(duì)性能要求較大
deffunc(x):if x==0 or x ==1:return 1
else:return func(x-1)+func(x-2)for i in range(10):print(func(i))#方法2,循環(huán)方式
defloop(n):
a,b= 1,1
while n>0:
a,b= b,a+b
n-=1
returnafor i in range(10):print(loop(i))
005 冒泡排序
ef new_sort(arr):for i inrange(len(arr)):for j in range(0,len(arr)-i-1):if arr[j]>arr[j+1]:
arr[j],arr[j+1] = arr[j+1],arr[j]
list1= [64, 34, 25, 12, 22, 11, 90]
new_sort(list1)
006?水仙花數(shù)(水仙花數(shù)指153=1**3+5**3+3**3,位數(shù)立方之和等于該數(shù))
for i in range(100,1000):
a= i//100b= (i-a*100)//10c= (i-a*100-b*10)if i == pow(a,3)+pow(b,3)+pow(c,3):print(i)
以下20道題型是基礎(chǔ)題。
1,python有哪幾種數(shù)據(jù)類(lèi)型?
數(shù)字(number),字符串(string),列表即數(shù)組(list),元組(tuple),字典(dict),集合(set)
2,列表和元組的區(qū)別?
list是可變的數(shù)據(jù)類(lèi)型,可用于修改,刪除等,元組是不可變類(lèi)型,元組中的元素不可修改,所以元組多用作查詢(xún),性能較好
3,Python里面如何拷貝一個(gè)對(duì)象?deepcopy 和 copy的區(qū)別?
copy與deepcopy均可復(fù)制對(duì)象,copy 僅拷貝對(duì)象本身,而不拷貝對(duì)象中引用的其它對(duì)象。deepcopy 除拷貝對(duì)象本身,而且拷貝對(duì)象中引用的其它對(duì)象。
4,python中如何取隨機(jī)數(shù)?
使用random庫(kù),random.randint(),random.choice()等
5,什么是lambda函數(shù)?
編程中提到的 lambda 表達(dá)式,通常是在需要一個(gè)函數(shù),但是又不想費(fèi)神去命名一個(gè)函數(shù)的場(chǎng)合下使用,也就是指匿名函數(shù)。
6,python中的*args與**kwargs是什么?
*args與**kwargs均是指python中的不定長(zhǎng)參數(shù),*args是參數(shù)以元組形式傳入,**kwargs是參數(shù)以鍵值對(duì)形式傳入。
7,re.complie的方法是做什么用的?
re.compile是將正則表達(dá)式編譯成一個(gè)對(duì)象,提升查詢(xún)速度,并重復(fù)使用
8,try...except...else/finally的用法
try..except..else如果沒(méi)有捕獲到異常,那么就執(zhí)行else語(yǔ)句,try..except..finally不管是否捕獲到異常,都執(zhí)行finally語(yǔ)句
9,如何在Python中刪除文件?
要在Python中刪除文件,您需要導(dǎo)入OS模塊。使用os.remove()函數(shù)。
10,python數(shù)據(jù)格式是否可以轉(zhuǎn)換
可以強(qiáng)制轉(zhuǎn)換,例如str(int),這樣一個(gè)int類(lèi)型的數(shù)據(jù),就轉(zhuǎn)為了字符串
11,如何實(shí)現(xiàn)列表去重?
使用set集合去重,在轉(zhuǎn)換為列表,舉例:
list1 = [1,2,3,1,4,1]
list2= list(set(list1))
12,is和==的區(qū)別?
is:判斷內(nèi)存地址是否相等;==:判斷數(shù)值是否相等
13、ascii,unicode,utf-8,gbk幾種編碼的區(qū)別?
ASCII碼:使用一個(gè)字節(jié)編碼,所以它的范圍基本是只有英文字母、數(shù)字和一些特殊符號(hào),只有256個(gè)字符。
Unicode:能夠表示全世界所有的字節(jié)
GBK:是只用來(lái)編碼漢字的,GBK全稱(chēng)《漢字內(nèi)碼擴(kuò)展規(guī)范》,使用雙字節(jié)編碼。
UTF-8:是一種針對(duì)Unicode的可變長(zhǎng)度字符編碼,用的最多,支持中文。
14,字符串的分割怎么用?
使用split()方法,舉例:
str1 = 'abcdefg'
print(str1.split('b',2)) #從元素b開(kāi)始分為兩部分
15,python中的zip函數(shù)是用來(lái)做什么的,怎么使用?
zip()函數(shù)是將可迭代對(duì)象打包轉(zhuǎn)換為對(duì)應(yīng)的一個(gè)個(gè)元組,然后返回這些元組所組成的數(shù)組,python3中是組成了一個(gè)迭代器對(duì)象。舉例:
a = '123'b= '456'zipped=zip(a,b)for i inzipped:print(i)>>>('1', '4')>>>('2', '5')>>>('3', '6')
16,如何使用zip和dict結(jié)合創(chuàng)建字典?
dict1 = dict(zip(('a','b','c'),('1','2','3')))>>>{'a': 1, 'b': 2, 'c': 3}
17,Python的可變類(lèi)型和不可變類(lèi)型?
可變類(lèi)型:list、dict、set
不可變類(lèi)型:string、int、float、tuple
18,常用字符串格式化哪幾種?
print('%s今年5歲'%('小明')) #方法1
print('{}今年5歲'.format('小明')) #方法2
a = '小明'
print(f'{a}今年5歲') #方法3
19,面向?qū)ο笾衉_new__、__init__的含義
__init__:為對(duì)象定制自己獨(dú)有的特征,__new__:用來(lái)將類(lèi)實(shí)例化的
20,filter、map、reduce的作用?
filter(function,iterable)過(guò)濾函數(shù)
map(function,iterable)循環(huán)函數(shù)
reduce(function, iterable)累積函數(shù)
總結(jié)
以上是生活随笔為你收集整理的python基础题面试_python常见面试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tmap的使用_MapInfo教程--二
- 下一篇: 怎么让bios恢复 恢复BIOS设置的方