多进程间共享数据可以使用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是如何进行类型转换的?
1函数 描述
2 int(x [,base ])将x转换为一个整数
3 long(x [,base ])将x转换为一个长整数
4 float(x )将x转换到一个浮点数
5 complex(real [,imag ])创建一个复数
6 str(x )将对象×转换为字符串
7 repr(x )将对象×转换为表达式字符串
8 eval(str )用来计算在字符串中的有效Python表达式,并返回一个对象
9 tuple(s )将序列s转换为一个元组
10 list(s )将序列s转换为一个列表
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!