Python面试知识点

2020-04-29 09:29发布

1、字典是可变对象,执行 l.append(a)的操作中是把字典 a 的引用传到列表 l 中,当后

续操作修改 a[‘num’]的值的时候,l 中的值也会跟着改变,相当于浅拷贝。

2、Python2 中 range 和 xrange 的区别

两者用法相同,不同的是 range 返回的结果是一个列表,而 xrange 的结果是一个生成器,前者是直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以当列表很长时,使用 xrange 性能要比 range 好

3、print 方法默认调用 sys.stdout.write 方法,即往控制台打印字符串

4、在 Python3 中,input()获取用户输入,不论用户输入的是什么,获取到的都是字符串类型的。在 Python2 中有 raw_input()和 input(), raw_input()和 Python3 中的 input()作用是一样的,input()输入的是什么数据类型的,获取到的就是什么数据类型的

5、4G 内存怎么读取一个 5G 的数据?

方法一:可以通过生成器,分多次读取,每次读取数量相对少的数据(比如 500MB)进行处理,处理结束后在读取后面的 500MB 的数据。

方法二:可以通过 linux 命令 split 切割成小文件,然后再对数据进行处理,此方法效率比较高。可以按照行数切割,可以按照文件大小切割。