python面试总结
生活随笔
收集整理的這篇文章主要介紹了
python面试总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. python在讀取文件時,read(),readline()和readlines()有什么區別?
舉例說明:
1 with open('a.txt', 'r') as f: 2 result1 = f.read(n) # 表示讀取n個字節到result1中 3 result2 = f.readline() # 表示讀取下一行到result2中 4 result3 = f.readlines() # 表示讀取整個文件到result3中2、使用一行代碼輸出[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
result = [i ** 2 for i in range(1, 11)] print(result)3、編寫一個遞歸函數
# 編寫一個n的階乘 def factorial(n):if n < 2:return 1return n * factorial(n-1)if __name__ == "__main__":factorial(5)?4、簡述python的垃圾回收機制
1. python在內存中存儲了每個對象的引用計數,如果計數值變成0,那么相應的對象就會減小,分配給該對象的內存就會自動釋放出來用作他用。
2. 偶爾也會出現循環引用。垃圾回收器會定時尋找這個循環,并將其回收。例如
1 list1 = [] 2 list2 = [] 3 list1.append(list2) 4 list2.append(list1)list1和list2相互引用,如果不存在其他對象對他們的引用,list1和list2的引用計數也仍然為1,所占用的內存永遠無法被收回。
??3. python中使用了某些啟發式算法來加速垃圾回收。例如,越晚創建的對象更有可能被回收,對象被創建之后,垃圾回收器會分配它們所屬的代,每個對象都會被分配一個代,而被分配更年輕的代會先被處理。原理:將系統中的所有內存塊根據其存活時間劃分為不同的集合,每一個集合就成為一個“代”,垃圾收集的頻率隨著“代”的存活時間的增大而減小。也就是說,活得越長的對象,就越不可能是垃圾,就應該減少對它的垃圾收集頻率。那么如何來衡量這個存活時間:通常是利用幾次垃圾收集動作來衡量,如果一個對象經過的垃圾收集次數越多,可以得出:該對象存活時間就越長
轉載于:https://www.cnblogs.com/l5623064/p/9127683.html
總結
以上是生活随笔為你收集整理的python面试总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 详解scss的继承、占位符和混合宏
- 下一篇: python全栈开发 * 14