面试题汇总(三)

1.编写一个查询和打印功能的函数;要求能在当前目录以及当前目录的子目录下查找文件名包含指定字符串的文件;并打印出完整路径

import os

def search(path, name):
   # listdir能够列出给定的目录文件名
   file_list = os.listdir(path)
   print(file_list)
   # 遍历目录
   for x in file_list:
       # 判断要查找的文件名是否在目录中
       if name in x:
           # 输出查询文件的路径
           print(os.path.join(path, x))



path = input('请输入文件夹目录:')
name = input('请输入要查询的文件:')
search(path, name)

2.python中search和match的区别

search和match都是正则表达式里面的函数:
match()函数只检测字符串开头位置是否匹配,匹配成功才会返回结果,不然返回None.
 
search()函数会在整个字符串内查找模式匹配,只到找到第一个匹配而后返回一个包含匹配信息的对象,
该对象能够经过调用group()方法获得匹配的字符串,若是字符串没有匹配,则返回None。          

3.python中类变量和实例变量的区别

1.类变量不经过实例化后可直接打印输出,类变量存储在类的内存中。

2、若是同时有类变量和实例变量,程序执行时,首先去找实例变量,若是实例变量不存在,就去执行类变量。

4.请介绍下装饰器?怎么保留修饰函数的元数据

装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其余函数的功能的函数。他们有助于让咱们的代码更简短,也更Pythonic(Python范儿}python

经过 functools模块中的wraps, update_wrapper方法实现,每一个均可单独实现保留修饰函数的元数据正则表达式

5.python全局锁GIL

定义:简单来讲就是一个互斥体(或者说锁),这样的机制只容许一个线程来控制Python解释器app

优势:函数

  • 提升单线程程序的执行速度ui

  • 更易于集成c拓展模块spa

缺点:线程

  • 没法充分利用多核,没法很好计算密集型上发挥优点对象

相关文章
相关标签/搜索