面試題彙總(三)

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

缺點:線程

  • 沒法充分利用多核,沒法很好計算密集型上發揮優點對象

相關文章
相關標籤/搜索