1)什麼是Python?使用Python有什麼好處?
Python是一種具有對象,模塊,線程,異常和自動內存管理的編程語言。
python的有點是簡單,易用,可移植,可擴展,內置數據結構,並且是開源的。
2)什麼是PEP 8?
PEP 8是一個編碼約定,是一組建議,內容是如何編寫更具可讀性的Python代碼。
3)什麼是pickling和unpickling?
為了讓用戶在平常的編程和測試時保存復雜的數據類型,python提供了標准模塊,稱為pickle.這個模塊可以將幾乎任何的python對象轉換為字符串表示,這個過程稱為pickling.而要從裡面重新構造回原來的對象,則稱為unpickling。在pickling和unpicking之間,表示這些對象的字符串表示,可以存於一個文件,也可以通過網絡遠程機器間傳輸。
4)如何理解Python是解釋型語言?
Python語言是一種解釋性語言。Python程序直接從源代碼運行。由源代碼轉換為中間語言,中間語言被翻譯為可執行的機器語言。
5)如何在Python中管理內存?
Python內存由Python私有堆空間管理。所有Python對象和數據結構都位於私有堆空間中。程序員無法訪問這個私有堆空間,解釋器負責處理這個Python私有堆空間。
Python內存管理器的Python堆空間的分配,核心API允許程序員使用一些工具來編寫代碼。
Python還擁有一個內置的grabage收集器,它回收所有未使用的內存,並釋放內存並使其可用到堆空間。
6)有哪些工具可以發現編碼錯誤或執行靜態分析?
PyChecker是一個靜態分析工具,可以檢測Python源代碼中的錯誤並警告該錯誤的樣式和復雜性。Pylint是另一個驗證模塊是否符合編碼標准的工具。
7)什麼是Python裝飾器?
是對函數的一種包裝。它能使函數的功能得到擴充,而同時不用修改函數本身的代碼。能夠增加函數執行前、執行後的行為,而不需對調用函數的代碼做任何改變。
8)list和tuple有什麼區別?
列表和元組之間的區別在於,列表是可變的,而元組則不是。例如,可以將元組作為字典的鍵進行哈希處理。
9)參數如何通過值或引用傳遞?
Python中的所有內容都是一個對象,所有變量都包含對該對象的引用。參考值根據功能而定;因此無法更改引用的值。但是,如果對象是可變的,則可以更改。
10)什麼是Dict和列表解析?
它們是語法構造,可簡化基於現有可迭代對象的字典或列表的創建。
11)python提供了哪些內置類型?
可變內置類型:List、Sets、Dictionaries
不可變內置類型:Strings、Tuples、Numbers
12)Python中的名稱空間是什麼?
在Python中,引入的每個名稱都有其生存的地方,可以被使用。這稱為名稱空間。這就像一個將變量名映射到放置的對象的盒子。每當搜索變量時,都會搜索此框以獲取相應的對象。
13)什麼是Python中的lambda?
它是一個單表達式匿名函數,通常用作內聯函數。
14)為什麼python中的lambda表單沒有語句?
python中的lambda表單沒有語句,因為它用於創建新的函數對象,然後在運行時返回這些函數對象。
15)Python中的pass是什麼?
傳遞表示,無操作的Python語句,或者換句話說,它是復合語句中的占位符,該位置應留有空白,而無需在其中寫任何內容。
16)在Python中,迭代器是什麼?
在Python中,迭代器用於迭代一組元素,例如列表之類的容器。
17)Python中的unittest是什麼?
Python中的單元測試框架稱為unittest。它支持共享設置,自動化測試,關閉代碼等。
18)在Python中切片是什麼?
Slicing是一種在有序的對象類型中(數組,元組,字符串)節選某一段的語法。
19)Python中的generator是什麼?
python generator是一個簡單的創建iterator的途徑,它是一個可以返回迭代器對象的函數。
20)Python中的docstring是什麼?
Python文檔字符串稱為docstring,它是一種記錄Python函數,模塊和類的方式。
21)如何在Python中復制對象?
要在Python中復制對象,一般情況下,可以使用copy.copy()或copy.deepcopy()。這兩個函數。
22)Python中的負索引是什麼?
Python序列可以正負索引。對於正索引,0是第一個索引,1是第二個索引,依此類推。對於負索引,(-1)是最後一個索引,(-2)是倒數第二個索引,依此類推。
23)如何將數字轉換為字符串?
可以使用內置函數str() 將數字轉換為字符串。如果需要八進制或十六進制表示,可以使用函數oct()或hex()。
24)Xrange和range有什麼區別?
range返回的是一個list對象,而xrange則不會直接生成一個list,而是每次調用返回其中的一個值,內存空間使用極少,因而性能非常好。
25)Python中的模塊和封裝是什麼?
在Python中,模塊是構建程序的方式。每個Python程序文件都是一個模塊,該模塊會導入其他模塊,例如對象和屬性。
Python程序的封裝可以封裝成一個包,一個包可以包含多個模塊。