首页 > 代码库 > Python面试题

Python面试题

1、Python装饰器

详情

2、设置多个Python项目使用不同版本的Python和第三方库

使用PyEnv

详情

3、PEP8

详情

4、参数传递

按引用传递

5、列表解析,字典解析

详情

6、列表和元组的区别

元组一旦被赋值,值不可以被改变,改变会报错;列表可以任意更改。

7、range()和xrange()

(1)range()返回整个list

(2)xrange()返回可迭代的xrange对象

(3)xrange占用更少的内存空间,因为循环时xrange只生成当前对象

8、with语句

详情

9、重复import模块或方法

Python中一个模块不会重复载入

10、GIL

多线程下的全局互斥锁,保证同一时间每个进程中只有一个线程获得锁,访问相关资源。

11、特殊方法

(1)定义在某些class中

(2)不需要直接调用

(3)某些函数或操作符会调用相应的特殊方法

12、一级对象

无使用限制。

函数本身是一级对象。

13、class Foo 和 class Foo(object)

前一个是经典类,后一个是新式类

详情

14、提取列表中的每三个项目

x为列表,以下只有两种方式,希望有人指点还有其它的方式么

def t1(x):    l = len(x)    d = l // 3    r = l % 3    for i in range(d):        n = 3 * i        print(%d, %d, %d % (x[n], x[n + 1], x[n + 2]))    for i in range(r):        n = 3 * d        print(%d,  % x[n + i])
def t2(x):    n = 0    for i in x:        print(%d,  % i, end=‘‘)        n = (n + 1) % 3        if not n :            print()

 

Python面试题