python面试题的要点归纳
Python语言可能是第一种即简单又功能强大的编程语言。它不仅适合于初学者,也适合于专业人员使用,更加重要的是,用Python编程是一种愉快的事。那么辛辛苦苦的学习Python编程语言,就是希望自己有朝一日走上编程之路。在面试程序员的时候,必定要经历Python笔试这一环节,下面是关于面试时可能会考到的相关知识点的归纳整理。尽不全面,还望理解。
1. 在判断object是否是class的instances时,type和isinstance函数的区别?
type(obj) =>
type(cls) =>
由上可知,所有obj type后统一为 instance type; 而cls type后统一为classobj type。isinstance(obj,class),如果object是class的instance,返回True。
2. 通过重写内建函数,实现文件open之前检查文件格式?
3. 重新实现str.strip(),注意不能使用string.*strip()
4. 说明os,sys模块不同,并列举常用的模块方法?
官方解释:
os: This module provides a portable way of using operating system dependent functionality.
翻译:提供一种方便的使用操作系统函数的方法。
sys:This module provides Access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.
翻译:提供访问由解释器使用或维护的变量和在与解释器交互使用到的函数。
下面是os常用方法:
下面是sys 常用方法:
5. deepcopy 和 copy的区别?
copy 仅拷贝对象本身,而不拷贝对象中引用的其它对象。
deepcopy 除拷贝对象本身,而且拷贝对象中引用的其它对象。
例如:
6. os.path和sys.path的区别?
os.path是module,包含了各种处理长文件名(路径名)的函数。
例如:
sys.path是由目录名构成的列表,Python 从中查找扩展模块( Python 源模块、 编译模块、或者二进制扩展)。启动 Python 时,这个列表从根据内建规则,PYTHONPATH 环境变量的内容,以及注册表( Windows 系统)等进行初始化。
7. re模块中match和search方法的不同?
match() 函数只检查 RE 是否在字符串开始处匹配,而 search() 则是扫描整个字符串。
8. 如何匹配得到
9. 重新实现filter,map,reduce。
Result:
filter ==>
[1, 2, 3]
[1, 2, 3]
map ==>
[10, 20, 30, 40]
[10, 20, 30, 40]
reduce ==>
120
120
10. 解释生成器(generator)与函数的不同,并实现和使用简单generator?
生成器和函数的主要区别在于函数 return a value,生成器 yield a value同时标记或记忆 point of the yield 以便于在下次调用时从标记点恢复执行。 yield 使函数转换成生成器,而生成器反过来又返回迭代器。
11. 设计实现遍历目录与子目录,抓取.pyc文件?
以上就是程序员面试时总会遇到的笔试题目,本文罗列出来给你提个醒,让你信心满满地面对面试官的问题。加油,你一定可以的。