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