昨天說今天更新,原本今天不想更新的,但是小編是個不愿“聽話”的人,當我的身體發出今天休息指令時,我違背了這項指令,于是就會出現bug,可這種bug出現本身就是一種錯誤,
今天是入秋來第一天,來杯奶茶

別人有的你也要有


不客氣
等大家喝完奶茶再跟大家分享一些曾經遇到過的測驗面試題,希望給大家帶來幫助,
1、python中的裝飾器?裝飾器的作用?
裝飾器是修飾其他函式的功能的函式,他們有助于讓我們的代碼更簡短,
裝飾器本質上是一個 Python函式或類,它可以讓其他函式或類在不需要做任何代碼修改的前提下增加額外功能,裝飾器的回傳值也是一個函式/類物件,
它經常用于有切面需求的場景,比如:插入日志、性能測驗、事務處理、快取、權限校驗
等場景,裝飾器是解決這類問題的絕佳設計,有了裝飾器,我們就可以抽離出大量與函式功能本身無關的雷同代碼到裝飾器中并繼續重用,
概括的講,裝飾器的作用就是為已經存在的物件添加額外的功能,
2、python是否支持多重繼承?
在Python中是支持多重繼承的,也就是我們可以為一個類同時指定多個父類,可以在類名的()后邊添加多個類,來實作多重繼承,
多重繼承,會使子類同時擁有多個父類,并且會獲取到所有父類中的方法,
在沒有特殊的情況,應該盡量避免使用多重繼承,因為多重繼承會讓我們的代碼過于復雜,如果多個父類中有同名的方法,則會先在第一個父類中尋找,然后找第二個,
最后找第三個,前邊父類的方法會覆寫后邊父類的方法
3、pytest框架中如何實作app自動化測驗只啟動一次app?
@pytest.fixture裝飾器定義一個函式,可以在pytest框架中被呼叫,其中默認scope的作用域是function,其它還有:session、module 、class;
如果想整個框架的測驗用例執行只啟動一次app就采用session級別的,如果是指定那些模塊的測驗用例執行則使用module、單個測驗類就是class、function默認是測驗用例方法級別
4、Python 中的字串格式化的方法有哪些?f-string 格式化知道嗎?
1.%格式符
2.str.format()
3.f-Strings
f-string是2015年python 3.6 根據PEP 498新添加的一種字串格式化方法,f-string實際上是在運行時計算的運算式,而不是常量值,在Python源代碼中,f-string是一個文字字串,前綴為’f’,其中包含大括號內的運算式,運算式會將大括號中的內容替換為其值,
5、撰寫函式的四個原則是什么?
一:函式設計要盡量短小,嵌套層次不宜過深,
二:引數個數不宜太多,
三:函式引數設計應該考慮向下兼容
四:一個函式只做一件事,盡量保證函式陳述句粒度的一致性
6、Python 中如何避免記憶體泄漏?
有 del() 函式的物件間的回圈參考是導致記憶體泄漏的主兇,不使用一個物件時使用:delobject 來洗掉一個物件的參考計數就可以有效防止記憶體泄漏問題,通過Python 擴展模塊 gc 來查看不能回收的物件的詳細資訊,可以通過 sys.getrefcount(obj) 來獲取物件的參考計數,并根據回傳值是否為 0 來判斷是否記憶體泄漏,
7、如何在python中實作多執行緒和多行程?
一個執行緒就是一個輕量級行程,多執行緒能讓我們一次執行多個執行緒,python是多執行緒語言,其內置有多執行緒工具包,python中GIL(全域解釋器鎖)確保一次執行單個執行緒,
當程式中需要處理幾百上千個行程時,僅僅用Process是不現實的,因為手動去規劃行程過于繁瑣,所以此時你需要另外的工具去管理這些行程,multiprocessing提供了一個Pool的工具,
Pool可以提供指定數量的行程供用戶進行呼叫,當新的請求發到行程池時,如果此時行程池還沒有滿,那么Pool會自動創建一個行程去處理這個請求,否則,這個請求需要等待,直到行程池有新的空間釋放,另外Pool與Process不同的地方是前者可以有回傳值,而Process需要借助其他物件對資料進行存盤,
8、串列資料如何篩選,篩選出符合要求的資料?
1、通用方式:通過迭代方式,從第一個開始判斷,符合條件留下,不符合的丟棄,
2、filter方式:filter(function or None, iterable)–> filter object,該函式用于過濾序列,過濾掉不符合條件的元素,回傳一個迭代器物件,需要用list轉換回串列,
3、串列決議,
記住,別人有的你也要有!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/126515.html
標籤:其他
