前言
本文給大家深入的解答了關于Python的11道基本面試題,通過這些面試題大家能對python進一步的了解和學習,下面話不多說,來看看詳細的介紹吧。
一、單引號,雙引號,三引號的區別
分別闡述3種引號用的場景和區別
1),單引號和雙引號主要用來表示字符串
比如:
單引號:'python' 雙引號:"python"2).三引號
三單引號:'''python ''',也可以表示字符串一般用來輸入多行文本,或者用于大段的注釋 三雙引號:"""python""",一般用在類里面,用來注釋類,這樣省的寫文檔,直接用類的對象__doc__訪問獲得文檔區別:
若你的字符串里面本身包含單引號,必須用雙引號
比如: "can't find the log/n"
二、Python的參數傳遞是值傳遞還是引用傳遞
舉例說明Python函數參數傳遞的幾種形式,并說明函數傳參是值傳遞還是引用傳遞
1).Python的參數傳遞有:
位置參數
默認參數,
可變參數,
關鍵字參數
2).函數的傳值到底是值傳遞還是引用傳遞,要分情況
a.不可變參數用值傳遞:
像整數和字符串這樣的不可變對象,是通過拷貝進行傳遞的,因為你無論如何都不可能在原處改變不可變對象
b.可變參數是用引用傳遞的
比如像列表,字典這樣的對象是通過引用傳遞,和C語言里面的用指針傳遞數組很相似,可變對象能在函數內部改變.
三、什么是lambda函數?它有什么好處?
舉例說明lambda的用法,并說明用lambda的優點
1).lambda的用法:
lambda是匿名函數,用法如下:lambda arg1,arg2..argN:expression using args
2).優點
lambda能和def做同樣種類的工作,特別是對于那些邏輯簡單的函數,直接用lambda會更簡潔,而且省去取函數名的麻煩(給函數取名是個技術活)
四、字符串格式化:%和.format的區別
字符串的format函數非常靈活,很強大,可以接受的參數不限個數,并且位置可以不按順序,而且有較為強大的格式限定符(比如:填充,對齊,精度等)
五、Python是如何進行內存管理的
1).對象的引用計數機制
Python內部使用引用計數,來保持追蹤內存中的對象,所有對象都有引用計數。
引用計數增加的情況:
一個對象分配一個新名稱 將其放入一個容器中(如列表、元組或字典)引用計數減少的情況:
使用del語句對對象別名顯示的銷毀 引用超出作用域或被重新賦值2).垃圾回收
當一個對象的引用計數歸零時,它將被垃圾收集機制處理掉。
3).內存池機制
Python提供了對內存的垃圾收集機制,但是它將不用的內存放到內存池而不是返回給操作系統:
新聞熱點
疑難解答