python面试题(31-60)

31、求结果:

 

def  num():
    return [lambda x:i*x for i in range(4)]
print([ m(2) for m in num()])

答:
    [6, 6, 6, 6]

32、列举常见的内置函数?   

        1、abs()    此函数返回数字的绝对值。 

        2、all()     此函数用于判断给定的可迭代参数 iterable 中的所有元素是否都不为 0、都不为False 或者iterable都 为空,如果是返回 True,否则返回 False。

        3、bin()     返回一个整数 int 或者长整数 long int 的二进制表示。

        4、bool()    函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。

        5、dict()     函数用于创建一个字典。

33、filter、map、reduce的作用?

        通俗的说.这三者都是用在一堆数据(比如一个列表)上.

        map是用同样方法把所有数据都改成别的..字面意思是映射..比如把列表的每个数都换成其平方.

        reduce是用某种方法依次把所有数据丢进去最后得到一个结果..字面意思是化简..比如计算一个列表所有数的和的过程,就是维持一个部分和然后依次把每个数加进去.

        filter是筛选出其中满足某个条件的那些数据..字面意思是过滤..比如挑出列表中所有奇数

34、一行代码实现9*9乘法表

        print (‘\n‘.join([‘ ‘.join([‘%s*%s=%-2s‘ % (y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)]))

35、如何安装第三方模块?以及用过哪些第三方模块?


36、至少列举8个常用模块都有那些

        pip、pygame、pyMysql、sys、math、time、os

37、re的match和search区别?

        re.match()从开头开始匹配string。

        re.search()从anywhere 来匹配string。

38、什么是正则的贪婪匹配?

        贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配

        非贪婪匹配:就是匹配到结果就好,就少的匹配字符

        默认是贪婪模式;在量词后面直接加上一个问号?就是非贪婪模式

39、求结果: a. [ i % 2 for i in range(10) ] b. ( i % 2 for i in range(10) )


40、求结果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2

41、def func(a,b=[]) 这种写法有什么坑?

42、如何实现 “1,2,3” 变成 [‘1’,’2’,’3’] ?

43、如何实现[‘1’,’2’,’3’]变成[1,2,3] ?

44、比较: a = [1,2,3] 和 b = [(1),(2),(3) ] 以及 b = [(1,),(2,),(3,) ] 的区别?


45、如何用一行代码生成[1,4,9,16,25,36,49,64,81,100] ?

46、一行代码实现删除列表中重复的值 ?


47、如何在函数中设置一个全局变量 ?

48、logging模块的作用?以及应用场景?

            可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息;

            print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输出;

49、请用代码简答实现stack 。


50、常用字符串格式化哪几种?


51、简述 生成器、迭代器、可迭代对象 以及应用场景?

52、用Python实现一个二分查找的函数。

53、谈谈你对闭包的理解?

54、os和sys模块的作用?

        OS模块是Python标准库中的一个用于访问操作系统功能的模块,使用OS模块中提供的接口,可以实现跨平台访问

        sys模块主要是用于提供对python解释器相关的操作

  55、如何生成一个随机数? 

        引入random模块  random.random()

56、如何使用python删除一个文件?

        os.remove(path)

57、谈谈你对面向对象的理解?

            面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想

            在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例

            面向对象的编程是以对象为中心,以消息为驱动,所以程序=对象+消息

58、Python面向对象中的继承有什么特点?

            继承是进一步将一类事物共有的属性和行为抽象为一个父类,而每一个子类则继承了父类的行为和属性,也有自己特有的行为和属性。扩展代码,增加复用性

59、面向对象深度优先和广度优先是什么?

60、面向对象中super的作用?


答案明天写,累了............................







    

你可能感兴趣的:(python面试题(31-60))