▍1、Python代碼是如何執(zhí)行的?
首先,解釋器讀取Python代碼并檢查是否有語法或格式錯誤。
如果發(fā)現(xiàn)錯誤,則暫停執(zhí)行。如果沒有發(fā)現(xiàn)錯誤,則解釋器會將Python代碼轉(zhuǎn)換為等效形式或字節(jié)代碼。
然后將字節(jié)碼發(fā)送到Python虛擬機(jī)(PVM),這里Python代碼將被執(zhí)行,如果發(fā)現(xiàn)任何錯誤,則暫停執(zhí)行,否則結(jié)果將顯示在輸出窗口中。
▍2、如何在Python中管理內(nèi)存?
Python內(nèi)存由Python的私有headspace管理。
所有的Python對象和數(shù)據(jù)結(jié)構(gòu)都位于一個私有堆中。私用堆的分配由Python內(nèi)存管理器負(fù)責(zé)。
Python還內(nèi)置了一個的垃圾收集器,可以回收未使用的內(nèi)存并釋放內(nèi)存,使其可用于headspace。
▍3、解釋Python的內(nèi)置數(shù)據(jù)結(jié)構(gòu)?
Python中主要有四種類型的數(shù)據(jù)結(jié)構(gòu)。
列表:列表是從整數(shù)到字符串甚至另一個列表的異構(gòu)數(shù)據(jù)項的集合。列表是可變的。列表完成了其他語言中大多數(shù)集合數(shù)據(jù)結(jié)構(gòu)的工作。列表在[ ]方括號中定義。
例如:a = [1,2,3,4]
集合:集合是唯一元素的無序集合。集合運算如聯(lián)合|,交集&和差異,可以應(yīng)用于集合。集是不可變的。用于表示一個集合。
例如:a = {1,2,3,4}
元組:Python元組的工作方式與Python列表完全相同,只是它們是不可變的。用于定義元組。
例如:a =(1,2,3,4)
字典:字典是鍵值對的集合。它類似于其他語言中的hash map。在字典里,鍵是唯一且不可變的對象。
例如:a = {‘number’:[1,2,3,4]}
▍4、解釋//、%、* *運算符?
//(Floor Division)-這是一個除法運算符,它返回除法的整數(shù)部分。
例如:5 // 2 = 2
%(模數(shù))-返回除法的余數(shù)。
例如:5 % 2 = 1
**(冪)-它對運算符執(zhí)行指數(shù)計算。a ** b表示a的b次方。
例如:5 ** 2 = 25、5 ** 3 = 125
▍5、Python中的單引號和雙引號有什么區(qū)別?
在Python中使用單引號(‘ ‘)或雙引號 (” “)是沒有區(qū)別的,都可以用來表示一個字符串。
這兩種通用的表達(dá)方式,除了可以簡化程序員的開發(fā),避免出錯之外,還有一種好處,就是可以減少轉(zhuǎn)義字符的使用,使程序看起來更簡潔,更清晰。
▍6、Python中append,insert和extend的區(qū)別?
append:在列表末尾添加新元素。
insert:在列表的特定位置添加元素。
extend:通過添加新列表來擴(kuò)展列表。
numbers = [ 1, 2, 3, 4, 5]
numbers.append( 6)
print(numbers)
>[ 1, 2, 3, 4, 5, 6]
## insert(position,value)
numbers.insert( 2, 7)
print(numbers)
>[ 1, 2, 7, 4, 5, 6]
numbers.extend([ 7, 8, 9])
print(numbers)
>[ 1, 2, 7, 4, 5, 6, 7, 8, 9]
numbers.append([ 4, 5])
>[ 1, 2, 7, 4, 5, 6, 7, 8, 9,[ 4, 5]]
更多關(guān)于“Python培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。