常见面试题

1、python递归的默认最大层数,怎么更改默认最大层数?

python默认最大层数是998层,先调用sys模块,再利用sys.setrecursionlimit(num)设置

2、用python正则匹配字符串,<.*>和<.*?>区别是什么?

前者默认为贪婪匹配模式,会匹配尽量长的字符串

后者为将贪婪模式转化为非贪婪模式,会匹配尽可能短的字符串

3、如何安装第三方模块?以及常用的第三方模块

pip install 模块名  gevent,request,get,post

4、谈谈对闭包的理解,并写出一个闭包函数。

如果在一个内部函数里,对在外部作用域(但不是全局作用域)的变量进行引用,那么外部函数就被认为是闭包。

def wrapper(fn):

  def inner(*args,**kwargs):

    return fn(*args,**kwargs)

@wrapper

func():

  print(123)

5、什么是反射?以及其应用场景

反射:

1.根据字符串的形式导入模块。
2.根据字符串的形式去对象(某个模块)中操作其成员 

反射共有四个方法 getattr(),hasattr(),setattr(),delattr()

6、什么是面向对象的mro?

 

posted @ 2018-12-19 20:27  拓荒牛wr  阅读(104)  评论(0编辑  收藏  举报