專欄導(dǎo)讀
? 作者簡介:i阿極,CSDN 數(shù)據(jù)分析領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,專注于分享python數(shù)據(jù)分析領(lǐng)域知識。
? 本文錄入于《數(shù)據(jù)分析之道》,本專欄針對大學(xué)生、初級數(shù)據(jù)分析工程師精心打造,對python基礎(chǔ)知識點(diǎn)逐一擊破,不斷學(xué)習(xí),提升自我。
? 訂閱后,可以閱讀《數(shù)據(jù)分析之道》中全部文章內(nèi)容,包含python基礎(chǔ)語法、數(shù)據(jù)結(jié)構(gòu)和文件操作,科學(xué)計(jì)算,實(shí)現(xiàn)文件內(nèi)容操作,實(shí)現(xiàn)數(shù)據(jù)可視化等等。
? 其他專欄:《數(shù)據(jù)分析案例》 ,《機(jī)器學(xué)習(xí)案例》??????如果覺得文章不錯(cuò)或能幫助到你學(xué)習(xí),可以點(diǎn)贊??收藏??評論??+關(guān)注哦!??????
??????如果有小伙伴需要數(shù)據(jù)集和學(xué)習(xí)交流,文章下方有交流學(xué)習(xí)區(qū)!一起學(xué)習(xí)進(jìn)步!??
1、xrange 和 range 函數(shù)有什么區(qū)別?
range() 和 xrange() 是兩個(gè)函數(shù),可用于在 Python 中的 for 循環(huán)中迭代一定次數(shù)。在 Python 3 中,沒有 xrange,但 range 函數(shù)的行為類似于 Python 2 中的 xrange。
range() – 返回使用 range() 函數(shù)創(chuàng)建的數(shù)字列表。
xrange() – 此函數(shù)返回可用于僅通過循環(huán)顯示數(shù)字的生成器對象。唯一的特定范圍是按需顯示的,因此稱為惰性評估。
2、什么是字典理解?舉個(gè)例子
字典理解是一種語法構(gòu)造,可以簡化基于現(xiàn)有可迭代對象的字典的創(chuàng)建。
例如:my_dict = {i:1+7 for i in range(1, 10)}
3、元組理解嗎?如果是,怎么做,如果不是,為什么?
(i 代表 (1, 2, 3) 中的 i)
元組理解在 Python 中是不可能的,因?yàn)樗罱K會出現(xiàn)在生成器中,而不是元組理解。
4、 列表和元組的區(qū)別?
我們來分析一下List和Tuple的區(qū)別:
列表
列表是可變數(shù)據(jù)類型。
列表消耗更多內(nèi)存
該列表更適合執(zhí)行插入和刪除等操作。
迭代的含義是耗時(shí)的
元組
元組是不可變的數(shù)據(jù)類型。
與列表相比,元組消耗的內(nèi)存更少
元組數(shù)據(jù)類型適合訪問元素
迭代的含義是相對更快
5、淺拷貝和深拷貝有什么區(qū)別?
創(chuàng)建新實(shí)例類型時(shí)使用淺復(fù)制,它保留復(fù)制的值,而深復(fù)制則存儲已復(fù)制的值。
淺拷貝具有更快的程序執(zhí)行速度,而深拷貝則使其速度變慢。
6、python的sort()和sorted()函數(shù)使用哪種排序技術(shù)?
Python 使用Tim Sort算法進(jìn)行排序。這是一種穩(wěn)定的排序,最壞情況是 O(N log N)。它是一種混合排序算法,源自合并排序和插入排序,旨在對多種實(shí)際數(shù)據(jù)表現(xiàn)良好。
7、什么是裝飾器?
裝飾器是 Python 中非常強(qiáng)大且有用的工具,因?yàn)樗鼈兪俏覀冊?Python 語法中進(jìn)行的特定更改,以便輕松更改函數(shù)。
8、如何調(diào)試Python程序?
通過使用這個(gè)命令我們可以調(diào)試Python程序:
$ python -m pdb python-script.py
9、Python中的迭代器是什么?
在 Python 中,迭代器用于迭代一組元素、容器(例如列表)。迭代器是項(xiàng)目的集合,它們可以是列表、元組或字典。Python 迭代器實(shí)現(xiàn) itr 和 next() 方法來迭代存儲的元素。我們通常使用循環(huán)來迭代Python中的集合(列表、元組)。
10、Python中的生成器是什么?
在Python中,生成器是一種指定如何實(shí)現(xiàn)迭代器的方式。它是一個(gè)普通函數(shù),只不過它在函數(shù)中產(chǎn)生表達(dá)式。它不實(shí)現(xiàn) itr 和 next() 方法,并減少其他開銷。
如果一個(gè)函數(shù)至少包含一個(gè)yield語句,它就成為一個(gè)生成器。Yield 關(guān)鍵字通過保存其狀態(tài)來暫停當(dāng)前執(zhí)行,然后在需要時(shí)從相同狀態(tài)恢復(fù)。
11、Python支持多重繼承嗎?
與 Java 不同,Python 確實(shí)支持多重繼承。多重繼承意味著一個(gè)類可以從多個(gè)父類派生。
12、Python中的多態(tài)性是什么?
多態(tài)性意味著采取多種形式的能力。因此,例如,如果父類有一個(gè)名為 ABC 的方法,那么子類也可以有一個(gè)具有相同名稱 ABC 的方法,并有自己的參數(shù)和變量。Python 允許多態(tài)性。
13、Python中定義封裝?
封裝意味著將代碼和數(shù)據(jù)綁定在一起。Python 類是封裝的一個(gè)示例。
14、Python 中如何進(jìn)行數(shù)據(jù)抽象?
數(shù)據(jù)抽象僅提供所需的細(xì)節(jié),并向外界隱藏實(shí)現(xiàn)。在Python中可以通過使用接口和抽象類來實(shí)現(xiàn)。
15、Python中如何進(jìn)行內(nèi)存管理?
Python 使用其私有堆空間來管理內(nèi)存?;旧希械膶ο蠛蛿?shù)據(jù)結(jié)構(gòu)都存儲在私有堆空間中。即使程序員也無法訪問這個(gè)私有空間,因?yàn)榻忉屍鲿幚磉@個(gè)空間。Python還有一個(gè)內(nèi)置的垃圾收集器,它回收所有未使用的內(nèi)存并釋放內(nèi)存并使其可供堆空間使用。
16、如何使用Python刪除文件?
我們可以通過以下方式使用Python刪除文件:
os.remove()
os.unlink()
17、Python中的切片是什么?
Python 切片是一種字符串操作,用于提取字符串的一部分或列表的一部分。使用此運(yùn)算符,可以指定切片開始位置、結(jié)束位置以及指定步驟。列表切片從現(xiàn)有列表中返回一個(gè)新列表。
語法:Lst[ 初始 : 結(jié)束 : IndexJump ]
18、Python中什么是命名空間?
命名空間是一種命名系統(tǒng),用于確保名稱唯一以避免命名沖突。文章來源:http://www.zghlxwxcb.cn/news/detail-791546.html
??文章下方有交流學(xué)習(xí)區(qū)!一起學(xué)習(xí)進(jìn)步!??????
??首發(fā)CSDN博客,創(chuàng)作不易,如果覺得文章不錯(cuò),可以點(diǎn)贊??收藏??評論??
??你的支持和鼓勵(lì)是我創(chuàng)作的動(dòng)力???文章來源地址http://www.zghlxwxcb.cn/news/detail-791546.html
到了這里,關(guān)于中級Python面試問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!