常见面试题
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?
认真做一件事,并将之完全学会掌握为止!