继续更新一些python面试题,能更多少就更多少吧,如果大家喜欢,我依旧会继续更一点的。
21. 一行代码实现1–100求和
这道题考了利用sum()函数进行求和,即sum(range(0,101))
22. 如何在一个函数内部修改全局变量
利用global
修改全局变量
23. 字典如何删除键和合并两个字典
利用del和update方法
dic = ["name":"张大炮", "age":24]
del dic["name"] #删除键
>>>dic
["age":24]
dic2 = ["name": "张益达"]
dic.update(dic2) # 合并字典
>>>dic
["age":24,"name":"张益达"]
24. 什么是GIL
GIL是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器,使该进程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁揭开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统对资源消耗极大。
25. python2和python3中的range(10)的区别
python2返回的是列表,而python3中返回的是迭代器,可以节约内存,迭代器保存的是算法,可以一边运行一边计算,可以说迭代器是用时间换空间,需要next函数调用。