网站首页 > 基础教程 正文
六七月份可谓是求职的黄金期,跳槽的朋友,毕业找工作的小伙伴们已经非常躁动了。Python作为编程界的网红,我相信不少朋友都将此作为自己的跳板,不管是当做附加技能,还是当作饭碗,下面这份整理的Python面试合集务必看完,牢记!话不多说,来看看面试官们都会问些神马问题吧!
试题NO1 : Python下多线程的限制以及多进程中传递参数的方式?
答: Python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫"并发",不是"并行"
多进程间共享数据可以使用multiprocessing.Value和multiprocessing.Array
试题NO2: Python是如何进行内存管理的?
答:一、对象的引用计数机制。
Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。
二、垃圾回收
1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。2,当两个对象a和b相互引用时,del语句可以减少a和b的引用计数,并销毁用于引用底层对象的名称。
三、内存池机制
Python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统。
试题NO3:求数值以内的质数,合数及个数
#质数
def zhishu(number):
num=0
for i in range(2,number+1):
k=Truefor j in range(2,i):
if i==j:
continue
if(i%j==0):
k=False
break
if(k==True):
print("%d"%i)
num=num+1
print("素数个数%d"%num)
# 合数
def heshu(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)}')
试题No4:九九乘法表
#九九乘法表 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+1
n=n+1
print()
试题NO5:裴波那契数列
# 方法1,递归对性能要求较大
def func(x):if x==0 or x ==1:return 1else:
return func(x-1)+func(x-2)
for i in range(10):
print(func(i))
# 方法2,循环方式
def loop(n):
a,b= 1,1while n>0:
a,b= b,a+b
n-=1return a
for i in range(10):
print(loop(i))
试题NO6: 解释一下python的and-or语法
答:与c表达式bool ? a: b类似,但是bool and a or b,当a为假时,不会像C表达式bool ?a: b一样工作
应该将and-or技功封装成一个函数:
defchoose(bool, a, b):return(booland[a]or[b])[0]
因为[a]是一个非空列表它永远不会为假。甚至a是o或"或其他价值,列表[a]为真,因为它有一个元素。
试题NO7: how do l iterate over a sequence inreverse order?
for x in reversed(sequence) :
... # do something with x..
如果不是list,最通用但是稍慢的解决方案是:
for i in range(len( sequence)-1,-1,-1):2
x = sequence[i]
<do something with x>
试题NO8: Python是如何进行类型转换的?
函数 描述
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象×转换为字符串
repr(x ) 将对象×转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列s转换为一个元组
list(s ) 将序列s转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串知乎
oct(x ) 将一个整数转换为一个八进制字符串
试题NO9: Python里面如何实现tuple和list的转换?
>>> 1 = tuple(iplist)
>>> print l
( '217.169.209.2:6666', '192.227.139.106:7808', '110.4.12.170:83','69.197.132.80:7808', '205.164.41.101:3128','63.141.249.37:8089','27.34.142.47:9090')
>>>t = list(1)
>>>print t
[ '217.169.209.2:6666', '192.227.139.106:7808', '110.4.12.170:83','69,A.97。 172-.-B0.7808', '205.164.41.101:3128', '63.141.249.37:8089', '27.34.142.47:9090']
试题NO10:请写出一段Python代码实现删除一个list里面的重复元素?
>>>l =[1,1,2,3,4,5,4]
>>> list(set(1))
[1,2,3,4,,5]
或者
d = { }
for x in mylist:
d[X]=1
mylist = list(a.keys())
试题NO11:冒泡排序
def new_sort(arr):
for i in range(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)
试题NO12: Python里面如何拷贝一个对象?
答:标准库中的copy模块提供了两个方法来实现拷贝一个方法是copy,它返回和参数包含内容一样的对象.
使用deepcopy方法对象中的属性也被复制
试题NO13:x,y 由人为输入的整数,求 x 的 y 次方,不允许使用**
x = int(input('请输入 X:'))
y = int(input('请输入 Y:'))
res = x
for i in range(y-1):
res *=x
print(res)
我是小鱼~带给大家更多Python干货和小技巧!
- 上一篇: 记住这份软件测试八股文还怕不能拿offer?你值得拥有
- 下一篇: 有哪些好玩的 Python 代码?
猜你喜欢
- 2024-12-13 人教版小学六年级数学下册期末试卷9
- 2024-12-13 Python的for语句与C或Pascal的区别
- 2024-12-13 截尾法判断整除——同余定理的应用
- 2024-12-13 有哪些好玩的 Python 代码?
- 2024-12-13 记住这份软件测试八股文还怕不能拿offer?你值得拥有
- 2024-12-13 如何在你的项目中混合 Rust 和 Python
- 2024-12-13 过瘾!100道Python入门练习题
- 2024-12-13 2020-09-20:如何判断一个数是质数?
- 2024-12-13 【python】(9)迭代与生成器
- 2024-12-13 9个可以用Python快速解答的有趣数学题目
- 05-27是时候使用iframe延迟加载来提升LCP!
- 05-27页面卡顿到崩溃?5 个实战技巧让前端性能飙升 80%!
- 05-27前端人必看!10 个实战优化技巧,让项目性能直接起飞!
- 05-27快速了解JavaScript的表单操作
- 05-27来了!JavaScript 最强大的 8 个 DOM API
- 05-27如何使用 ChatGPT 进行抓取
- 05-27Pyppeteer爬虫神器详解
- 05-27《高性能JavaScript》学习笔记——日更中
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- deletesql (62)
- c++模板 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)