python filestorage对象怎么转化成字符串_Python面试的10个常见问题及答案,检验你的学习成果吧!...
Python已經(jīng)是現(xiàn)在最受歡迎的編程語言,隨著這幾年云計算,機器學(xué)習(xí),人工智能等技術(shù)的發(fā)展,學(xué)習(xí)Python的人越來越多,職位的要求也越來越高,下面我收集了10個面試中經(jīng)常被問到的問題和答案供大家參考學(xué)習(xí)。
1Python是如何運行的?
Python 程序運行時,會先進行編譯,將 .py 文件中的代碼編譯成字節(jié)碼(byte code),編譯結(jié)果儲存在內(nèi)存的 PyCodeObject 中,然后由 Python 虛擬機解釋運行。當(dāng)程序運行結(jié)束后,Python 解釋器會將 PyCodeObject 保存到 pyc 文件中。之后每一次運行時 Python 都會先尋找與文件同名的 pyc 文件,如果找到直接運行,否則重復(fù)上述過程。2什么是Python迭代器?什么又是生成器?
迭代器是可迭代對象的一個子集,它是一個可以記住遍歷的位置的對象,它與列表、元組、集合、字符串這些可迭代對象的區(qū)別就在于next方法的實現(xiàn),其他列表、元組、集合、字符串這些可迭代對象可以很簡單的轉(zhuǎn)化成迭代器
生成器是迭代器的子集,換句話說,生成器一定是迭代器,但是迭代器不全是生成器對象。而生成器使用更加簡潔,實現(xiàn)和迭代器相同的功能。
3解釋一下Python的繼承
當(dāng)一個類繼承自另一個類,它就被稱為一個子類/派生類,繼承自父類/基類/超類。它會繼承/獲取所有類成員(屬性和方法)。
繼承能讓我們重新使用代碼,也能更容易的創(chuàng)建和維護應(yīng)用。Python支持如下種類的繼承:
單繼承:一個類繼承自單個基類
多繼承:一個類繼承自多個基類
多級繼承:一個類繼承自單個基類,后者則繼承自另一個基類
分層繼承:多個類繼承自單個基類
混合繼承:兩種或多種類型繼承的混合
4Python中是否需要縮進?
縮進是Python必需的。它指定了一個代碼塊。循環(huán),類,函數(shù)等中的所有代碼都在縮進塊中指定。通常使用四個空格字符來完成。如果您的代碼沒有必要縮進,它將無法準(zhǔn)確執(zhí)行并且也會拋出錯誤。
5什么是Python中的類型轉(zhuǎn)換?
類型轉(zhuǎn)換是指將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。int() ?- 將任何數(shù)據(jù)類型轉(zhuǎn)換為整數(shù)類型float() ?- 將任何數(shù)據(jù)類型轉(zhuǎn)換為float類型ord() ?- 將字符轉(zhuǎn)換為整數(shù)hex() - 將整數(shù)轉(zhuǎn)換為十六進制oct() ?- 將整數(shù)轉(zhuǎn)換為八進制tuple() -?此函數(shù)用于轉(zhuǎn)換為元組。set() -?此函數(shù)在轉(zhuǎn)換為set后返回類型。list() -?此函數(shù)用于將任何數(shù)據(jù)類型轉(zhuǎn)換為列表類型。dict() -?此函數(shù)用于將順序元組(鍵,值)轉(zhuǎn)換為字典。str() -?用于將整數(shù)轉(zhuǎn)換為字符串。complex(real,imag)? - 此函數(shù)將實數(shù)轉(zhuǎn)換為復(fù)數(shù)(實數(shù),圖像)數(shù)。6Python中淺拷貝,深拷貝的區(qū)別
淺拷貝則是將一個對象的引用拷貝到另一個對象上,所以如果我們在拷貝中改動,會影響到原對象。
深拷貝就是將一個對象拷貝到另一個對象中,這意味著如果你對一個對象的拷貝做出改變時,不會影響原對象
7多線程好用嗎?如何在Python中實現(xiàn)多線程?
Python沒有真正意義上的多線程,不過有一個名為Global Interpreter Lock(GIL)的結(jié)構(gòu)。GIL確保每次只能執(zhí)行一個“線程”。一個線程獲取GIL執(zhí)行相關(guān)操作,然后將GIL傳遞到下一個線程。
雖然看起來程序被多線程并行執(zhí)行,但它們實際上只是輪流使用相同的CPU核心。
所有這些GIL傳遞都增加了執(zhí)行的開銷。這意味著多線程并不能讓程序運行的更快。
8如何在Python中管理內(nèi)存?
Python中的內(nèi)存管理由Python私有堆空間管理。所有Python對象和數(shù)據(jù)結(jié)構(gòu)都位于私有堆中。程序員無權(quán)訪問此私有堆。Python解釋器負責(zé)處理這個問題。
Python對象的堆空間分配由Python的內(nèi)存管理器完成。核心API提供了一些程序員編寫代碼的工具Python還有一個內(nèi)置的垃圾收集器,它可以回收所有未使用的內(nèi)存,并使其可用于堆空間。
9列表(list)和元組(tuple)有什么區(qū)別?
列表是可變的。創(chuàng)建后可以對其進行修改。
元組是不可變的。元組一旦創(chuàng)建,就不能對其進行更改。
列表表示的是順序。它們是有序序列,通常是同一類型的對象。
元組表示的是結(jié)構(gòu)。可以用來存儲不同數(shù)據(jù)類型的元素。比如內(nèi)存中的數(shù)據(jù)庫記錄。
10字典和列表的查找速度哪個更快
在列表中查找一個值需要O(n)時間,因為需要遍歷整個列表,直到找到值為止。
在字典中查找一個值只需要O(1)時間,因為它是一個哈希表。
如果有很多值,這會造成很大的時間差異,因此通常建議使用字典來提高速度。但字典也有其他限制,比如需要唯一鍵。
當(dāng)然,面試題可以一直刷,題目通過的幾率是很大的,不過之后我們還需要看自身的發(fā)揮,打鐵還要自身硬是吧,如果自身沒有相應(yīng)的水平,在之后的試用期階段還是會被刷下去。
最后,希望大家能夠找到自己理想的企業(yè),面試成功!
End
福利大放送長按掃碼領(lǐng)取試聽課程點擊此處“閱讀全文”查看更多內(nèi)容總結(jié)
以上是生活随笔為你收集整理的python filestorage对象怎么转化成字符串_Python面试的10个常见问题及答案,检验你的学习成果吧!...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软必应推出AI绘图功能,OpenAI技
- 下一篇: model存储 swift_Swift语