這裏對Python常見面試題做一個總結,也僅僅是個人的經驗,不足之處,還請夥伴們補充!
- python是如何進行類型轉換的?
python提供了將變量或值從一種類型轉換成另一種類型的內置函數。比如int函數能夠將符合數學格式數字型字符串轉換成整數。否則,返回錯誤信息。
- python是如何進行內存管理的?
python引用了一個內存池(memory pool)機制,即Pymalloc機制(malloc:n.分配內存),用於管理對小塊內存的申請和釋放。
- dict 的 items() 方法與 iteritems() 方法有什麼不同?
items方法將所有的字典以列表方式返回,其中項在返回時沒有特殊的順序;
iteritems方法有相似的作用,但是返回一個迭代器對象
- 什麼是lambda函數?它有什麼好處?
編程中提到的 lambda 表達式,通常是在需要一個函數,但是又不想費神去命名一個函數的場合下使用,也就是指匿名函數。
python允許你定義一種單行的小函數。定義lambda函數的形式如下:labmda 參數:表達式lambda函數默認返回表達式的值。你也可以將其賦值給一個變量。lambda函數可以接受任意個參數,包括可選參數,但是表達式只有一個。
- 說明os,sys模塊不同,並列舉常用的模塊方法?
官方解釋:os:This module provides a portable way of usingoperating system dependent functionality.翻譯:提供一種方便的使用操作系統函數的方法。sys:This module provides access to some variablesused or maintained by the interpreter and to functions that interact stronglywith the interpreter.翻譯:提供訪問由解釋器使用或維護的變量和在與解釋器交互使用到的函數。
os 常用方法
Python常見面試題總結——個人Python學習經驗
sys 常用方法
Python常見面試題總結——個人Python學習經驗
- python裏面如何拷貝一個對象?deepcopy 和 copy的區別?
copy 僅拷貝對象本身,而不拷貝對象中引用的其它對象。
deepcopy 除拷貝對象本身,而且拷貝對象中引用的其它對象。
- os.path和sys.path的區別?
os.path是module,包含了各種處理長文件名(路徑名)的函數。
sys.path是由目錄名構成的列表,python 從中查找擴展模塊( python 源模塊, 編譯模塊,或者二進制擴展). 啓動 python 時,這個列表從根據內建規則,PYTHONPATH 環境變量的內容, 以及註冊表( Windows 系統)等進行初始化.
- re模塊中match和search方法的不同?
match() 函數只檢查 RE 是否在字符串開始處匹配,而search() 則是掃描整個字符串。
- 解釋生成器(generator)與函數的不同,並實現和使用簡單generator?
生成器和函數的主要區別在於函數 return avalue,生成器 yield a value同時標記或記憶point of the yield 以便於在下次調用時從標記點恢復執行。yield 使函數轉換成生成器,而生成器反過來又返回迭代器。