Python常见面试题总结——个人Python学习经验

322 阅读3分钟

这里对Python常见面试题做一个总结,也仅仅是个人的经验,不足之处,还请伙伴们补充!

Python常见面试题总结——个人Python学习经验

1. python是如何进行类型转换的?

python提供了将变量或值从一种类型转换成另一种类型的内置函数。比如int函数能够将符合数学格式数字型字符串转换成整数。否则,返回错误信息。

2. python是如何进行内存管理的?

python引用了一个内存池(memory pool)机制,即Pymalloc机制(malloc:n.分配内存),用于管理对小块内存的申请和释放。

3. dict 的 items() 方法与 iteritems() 方法有什么不同?

items方法将所有的字典以列表方式返回,其中项在返回时没有特殊的顺序;

iteritems方法有相似的作用,但是返回一个迭代器对象

4. 什么是lambda函数?它有什么好处?

编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。

python允许你定义一种单行的小函数。定义lambda函数的形式如下:labmda 参数:表达式lambda函数默认返回表达式的值。你也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个。

5. 说明os,sys模块不同,并列举常用的模块方法?

官方解释:os:This module provides a portable way of usingoperating system dependent functionality.翻译:提供一种方便的使用操作系统函数的方法。sys:This module provides access to some variablesused or maintained by the interpreter and to functions that interact stronglywith the interpreter.翻译:提供访问由解释器使用或维护的变量和在与解释器交互使用到的函数。

os 常用方法


Python常见面试题总结——个人Python学习经验


sys 常用方法


Python常见面试题总结——个人Python学习经验


6. python里面如何拷贝一个对象?deepcopy 和 copy的区别?

copy 仅拷贝对象本身,而不拷贝对象中引用的其它对象。

deepcopy 除拷贝对象本身,而且拷贝对象中引用的其它对象。

7. os.path和sys.path的区别?

os.path是module,包含了各种处理长文件名(路径名)的函数。

sys.path是由目录名构成的列表,python 从中查找扩展模块( python 源模块, 编译模块,或者二进制扩展). 启动 python 时,这个列表从根据内建规则,PYTHONPATH 环境变量的内容, 以及注册表( Windows 系统)等进行初始化.

8. re模块中match和search方法的不同?

match() 函数只检查 RE 是否在字符串开始处匹配,而search() 则是扫描整个字符串。

9. 解释生成器(generator)与函数的不同,并实现和使用简单generator?

生成器和函数的主要区别在于函数 return avalue,生成器 yield a value同时标记或记忆point of the yield 以便于在下次调用时从标记点恢复执行。yield 使函数转换成生成器,而生成器反过来又返回迭代器。

先跟大家总结这9个Python常见面试题,更多的学习总结也会继续给大家更新!