首页 > 技术文章 > 120道 Python 面试题

lunvo 2021-01-03 08:00 原文

1、一行代码实现1--100之和

1 sum(range(0, 101))
View Code

2、如何在一个函数内部修改全局变量

利用global 修改全局变量

1 num = 5
2 
3 def func():
4     global num
5     num = 4
6 
7 func()
8 print(num)
View Code

3、列出5个python标准库

os:提供了不少与操作系统相关联的函数

sys:   通常用于命令行参数

re:   正则匹配

math: 数学运算

datetime:处理日期时间

4、字典如何删除键和合并两个字典

del和update方法

1 dic = {"name": "Lucy", "age": 18}
2 del dic["name"]  # del删除键
3 dic2 = {"name": "Lily"}
4 dic.update(dic2)  # update合并字典
View Code

5、谈下python的GIL

GIL 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。

多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大。

6、python实现列表去重的方法

先通过集合去重,再转列表

1 list = [11, 12, 13, 12, 15, 16, 13]
2 a = set(list)  # 通过集合去重
3 b = [x for x in a]  # 转列表
View Code

 

推荐阅读