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.  报错

正确答案: D       函数内部变量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.   

原文地址:https://www.cnblogs.com/dengyanchuan/p/10496313.html