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