python 面试题
Posted dengyanchuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 面试题相关的知识,希望对你有一定的参考价值。
1.os.path与sys.path的区别是什么?
os.path 主要用于系统文件路径的操作
sys.path 主要是python解释器的系统环境参数的操作
2.re模块中match和search方法的不同?
re.match 函数只匹配字符串的开始字符,如果开始的字符不符合正则表达式,匹配就会失败,返回None.
re.search方法匹配整个字符串,直到找到一个匹配的对象,匹配结束没有找到匹配值才返回None
match函数只能够在字符串的开始位置开始匹配,而search可以匹配字符串的任意位置,但也是返回找到的第一个匹配的模式
3.deepcopy和copy的区别?
copy:浅拷贝.只拷贝父对象,不会拷贝对象的内部的子对象
deepcopy:深拷贝.拷贝对象及其子对象
4.python里面如何实现tuple和list的转换?
tuple转为list
temp_tuple = (1,2,3)
方法类似,也可进行强制转换: list(temp_tuple)
list 转为 tuple
temp_list = [1,2,3,4,5]
将temp_list进行强制转换:tuple(temp_list)
5.什么是lambda函数?
lambda 函数是一个可以接受任意多个参数(包括可选参数) 并且返回单个表达式值的函数 1.lambda 函数比较轻便,即用即扔,很适合需要完成一项功能,但是此功能只在此一处使用, 连名字都很随意的情况下 2. 匿名函数,一般用来给filter, map 这样的函数式编程服务; 3. 作为回调函数,传递给谋陷应用,比如消息处理
6.简述python中使用线程的几种方式.
二.单选题
1.如何解释下面的执行结果?
print 1.2 - 1.0 == 0.2
False
A. Python 的实现有错误
B. 浮点数无法精确表示
C. 布尔运算不能用于浮点数比较
D. Python 将非 0 数视为 False
正确答案: B 因为Python 中浮点数的运算存在误差,动手实践就能得到验证 ,如图所示
具体原因是1.2 - 1.0的值不是0.2,而是0.19999999999999996。
2. 下列代码执行结果是什么?
x = 1
def change(a):
x += 1
print(x)
change(x)
A. 1 B. 2 C. 3 D. 报错
正确答案: B 函数内部变量x使用前没有声明,用global 声明x
3. 下列哪种类型是Python的映射类型?
A. dict B. List C. tuple D. str
正确答案: A
4. 下列代码的运行结果是?
print(‘a‘ < ‘b‘ < ‘c‘)
A. a B. b C. c D. True E. False
正确答案: D
5.下列代码运行结果是?
a = ‘a‘
print(a > ‘b‘ or ‘c‘)
A. a B. b C. c D. True E. False
正确答案: C
6. 下列结果错误的是:
x = ‘foo‘
y = 2
print(x + y)
A. foo B. foofoo C. foo2 D.
以上是关于python 面试题的主要内容,如果未能解决你的问题,请参考以下文章