python基础题面试_python常见面试题
面試自動化會遇到的面試題,分享一波,就不排版了,多多見諒。
先上幾道編程題
001 求數值以內的質數,合數及個數
#質數
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("素數個數%d"%num)#合數
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}以內合數個數:{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由人為輸入的整數,求x的y次方,不允許使用**
x = int(input('請輸入X:'))
y= int(input('請輸入Y:'))
res=xfor i in range(y-1):
res*=xprint(res)
004?裴波那契數列(這個我遇到N次)
#方法1,遞歸對性能要求較大
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,循環方式
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?水仙花數(水仙花數指153=1**3+5**3+3**3,位數立方之和等于該數)
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道題型是基礎題。
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 inzipped: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)累積函數
總結
以上是生活随笔為你收集整理的python基础题面试_python常见面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tmap的使用_MapInfo教程--二
- 下一篇: 多元线性回归算法python实现_手写算