希望通過本文能夠幫助大家順順利利通過Python面試,之后還有一篇關于Python Web相關的文章歡迎大家閱讀。
1、Python中pass語句的作用是什么?
pass語句什么也不做,一般作為占位符或者創建占位程序,pass語句不會執行任何操作。
2、Python是如何進行類型轉換的?
Python提供了將變量或值從一種類型轉換成另一種類型的內置函數。比如int函數能夠將符合數學格式數字型字符串轉換成整數。否則,返回錯誤信息。
3、Python是如何進行內存管理的?
Python引用了一個內存池(memory pool)機制,即Pymalloc機制(malloc:n.分配內存),用于管理對小塊內存的申請和釋放。
4、dict 的 items() 方法與 iteritems() 方法的不同?
items方法將所有的字典以列表方式返回,其中項在返回時沒有特殊的順序;
iteritems方法有相似的作用,但是返回一個迭代器對象
5、什么是lambda函數?它有什么好處?
編程中提到的 lambda 表達式,通常是在需要一個函數,但是又不想費神去命名一個函數的場合下使用,也就是指匿名函數。
Python允許你定義一種單行的小函數。定義lambda函數的形式如下:labmda 參數:表達式lambda函數默認返回表達式的值。你也可以將其賦值給一個變量。lambda函數可以接受任意個參數,包括可選參數,但是表達式只有一個。
6、說明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 常用方法
os.remove()刪除文件 os.rename()重命名文件 os.walk()生成目錄樹下的所有文件名 os.chdir()改變目錄 os.mkdir/makedirs創建目錄/多層目錄 os.rmdir/removedirs刪除目錄/多層目錄 os.listdir()列出指定目錄的文件 os.getcwd()取得當前工作目錄 os.chmod()改變目錄權限 os.path.basename()去掉目錄路徑,返回文件名 os.path.dirname()去掉文件名,返回目錄路徑 os.path.join()將分離的各部分組合成一個路徑名 os.path.split()返回(dirname(),basename())元組 os.path.splitext()(返回filename,extension)元組 os.path.getatime/ctime/mtime分別返回最近訪問、創建、修改時間 os.path.getsize()返回文件大小 os.path.exists()是否存在 os.path.isabs()是否為絕對路徑 os.path.isdir()是否為目錄 os.path.isfile()是否為文件
sys 常用方法
sys.argv 命令行參數List,第一個元素是程序本身路徑 sys.modules.keys() 返回所有已經導入的模塊列表 sys.exc_info() 獲取當前正在處理的異常類,exc_type、exc_value、exc_traceback當前處理的異常詳細信息 sys.exit(n) 退出程序,正常退出時exit(0) sys.hexversion 獲取Python解釋程序的版本值,16進制格式如:0x020403F0 sys.version 獲取Python解釋程序的版本信息 sys.maxint 最大的Int值 sys.maxunicode 最大的Unicode值 sys.modules 返回系統導入的模塊字段,key是模塊名,value是模塊 sys.path 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值 sys.platform 返回操作系統平臺名稱 sys.stdout 標準輸出 sys.stdin 標準輸入 sys.stderr 錯誤輸出 sys.exc_clear() 用來清除當前線程所出現的當前的或最近的錯誤信息 sys.exec_prefix 返回平臺獨立的python文件安裝的位置 sys.byteorder 本地字節規則的指示器,big-endian平臺的值是'big',little-endian平臺的值是'little' sys.copyright 記錄python版權相關的東西 sys.api_version 解釋器的C的API版本 sys.version_info sys.argv 命令行參數List,第一個元素是程序本身路徑 sys.modules.keys() 返回所有已經導入的模塊列表 sys.exc_info() 獲取當前正在處理的異常類,exc_type、exc_value、exc_traceback當前處理的異常詳細信息 sys.exit(n) 退出程序,正常退出時exit(0) sys.hexversion 獲取Python解釋程序的版本值,16進制格式如:0x020403F0 sys.version 獲取Python解釋程序的版本信息 sys.maxint 最大的Int值 sys.maxunicode 最大的Unicode值 sys.modules 返回系統導入的模塊字段,key是模塊名,value是模塊 sys.path 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值 sys.platform 返回操作系統平臺名稱 sys.stdout 標準輸出 sys.stdin 標準輸入 sys.stderr 錯誤輸出 sys.exc_clear() 用來清除當前線程所出現的當前的或最近的錯誤信息 sys.exec_prefix 返回平臺獨立的python文件安裝的位置 sys.byteorder 本地字節規則的指示器,big-endian平臺的值是'big',little-endian平臺的值是'little' sys.copyright 記錄python版權相關的東西 sys.api_version 解釋器的C的API版本 sys.version_info
7、Python里面如何拷貝一個對象?deepcopy 和 copy的區別?
copy 僅拷貝對象本身,而不拷貝對象中引用的其它對象。
deepcopy 除拷貝對象本身,而且拷貝對象中引用的其它對象。
8、os.path和sys.path的區別?
os.path是module,包含了各種處理長文件名(路徑名)的函數。
sys.path是由目錄名構成的列表,Python 從中查找擴展模塊( Python 源模塊, 編譯模塊,或者二進制擴展). 啟動 Python 時,這個列表從根據內建規則,PYTHONPATH 環境變量的內容, 以及注冊表( Windows 系統)等進行初始化.
9、re模塊中match和search方法的不同?
match() 函數只檢查 RE 是否在字符串開始處匹配,而search() 則是掃描整個字符串。
10、解釋生成器(generator)與函數的不同,并實現和使用簡單generator?
生成器和函數的主要區別在于函數 return avalue,生成器 yield a value同時標記或記憶point of the yield 以便于在下次調用時從標記點恢復執行。 yield 使函數轉換成生成器,而生成器反過來又返回迭代器。
只有這10個還遠遠不夠,大家還要學習Python的深入知識,才能從面試中脫穎而出。