歡迎來(lái)到培訓(xùn)無(wú)憂(yōu)網(wǎng)!
咨詢(xún)熱線(xiàn) 400-001-5729
> 新聞資訊 > 電腦/IT > python培訓(xùn) > Python開(kāi)發(fā)之初學(xué)者應(yīng)了解的知識(shí)點(diǎn)2021-11-17 15:51:52|已瀏覽:269次
Python是一個(gè)面向?qū)ο蟮慕忉屝偷慕换ナ礁呒?jí)腳本語(yǔ)言:Python被設(shè)計(jì)成一種高可讀性的語(yǔ)言,因?yàn)樗罅康厥褂昧擞⒄Z(yǔ)中的單詞作為關(guān)鍵字,而且不像其他語(yǔ)言使用標(biāo)點(diǎn)符號(hào)構(gòu)成復(fù)雜的語(yǔ)法結(jié)構(gòu),Python的語(yǔ)法結(jié)構(gòu)非常少。
Python是一種面向?qū)ο蟮恼Z(yǔ)言:即Python是支持面向?qū)ο蟮模С衷趯?duì)象中進(jìn)行代碼封裝。
Python是一種解釋型語(yǔ)言:即Python程序是在運(yùn)行時(shí)由解釋器解釋執(zhí)行的,因而不用事先編譯源程序。這一點(diǎn)和Perl和PHP類(lèi)似。
Python是一種交互式語(yǔ)言:即你能夠在Python提示符下直接交互式地編寫(xiě)你的程序。
Python是初學(xué)者的語(yǔ)言:Python是一種非常適合初學(xué)者的語(yǔ)言,它支持多種類(lèi)型的應(yīng)用程序的開(kāi)發(fā),如簡(jiǎn)單的文本處理、www瀏覽器應(yīng)用程序開(kāi)發(fā)、游戲開(kāi)發(fā)等等。
1)什么是Python?使用Python的優(yōu)點(diǎn)有哪些?缺點(diǎn)有哪些?
Python是一種面向?qū)ο蟮慕忉屝缘慕换ナ秸Z(yǔ)言,帶有對(duì)象、模塊、線(xiàn)程、異常和內(nèi)存自動(dòng)管理的機(jī)制。
使用Python的優(yōu)點(diǎn)有:簡(jiǎn)單、易學(xué)、輕便可移植、可擴(kuò)展、可讀性、具有多種內(nèi)建數(shù)據(jù)類(lèi)型、開(kāi)源等等。
使用Python的缺點(diǎn)有:運(yùn)行速度慢,代碼不能加密(解釋性語(yǔ)言,發(fā)布python應(yīng)用只能發(fā)布源代碼,不像C發(fā)布編譯后的應(yīng)用文件)
2)什么是PEP 8?
PEP 8是一種編碼規(guī)范,是一系列關(guān)于如何讓Python代碼更加具有可讀性的編碼建議。
3)什么是序列化(pickling)和反序列化(unpickling)?
序列化:將在內(nèi)存中的變量轉(zhuǎn)為可存儲(chǔ)或傳輸?shù)倪^(guò)程。應(yīng)用JSON傳輸,序列化為統(tǒng)一格式j(luò)son
反序列化:與序列化的過(guò)程相反
Pickle模塊允許我們將Python對(duì)象轉(zhuǎn)換成一個(gè)string表示的信息,并且可以使用dump函數(shù)將其保存到一個(gè)文件中去,這樣的過(guò)程稱(chēng)為序列化。而使用文件中保存的對(duì)象信息重構(gòu)Python對(duì)象的過(guò)程稱(chēng)為反序列化。
4)Python是如何被解釋執(zhí)行的?
Python是一種解釋型語(yǔ)言,它可以直接從源代碼運(yùn)行程序。程序員編寫(xiě)的源代碼首先轉(zhuǎn)變成一種中間語(yǔ)言代碼,然后再被轉(zhuǎn)換成能夠直接執(zhí)行的機(jī)器語(yǔ)言代碼。
5)Python是如何進(jìn)行內(nèi)存管理的?
Python內(nèi)存空間是以Python私有堆的形式進(jìn)行管理的。所有的Python對(duì)象和數(shù)據(jù)結(jié)構(gòu)都存放在一個(gè)私有堆中。解釋器可以訪問(wèn)私有堆,而程序員不可以。
將Python堆空間中的內(nèi)存分配給Python對(duì)象的工作是由Python內(nèi)存管理器完成的。而內(nèi)核API則會(huì)提供給程序員一些相關(guān)的工具來(lái)完成涉及到內(nèi)存的編碼工作。
Python還內(nèi)置垃圾回收器,從而進(jìn)行回收釋放內(nèi)存到堆空間。
6)能夠找到程序中的bug進(jìn)行靜態(tài)分析的工具有哪些?
PyChecker是一種能夠發(fā)現(xiàn)Python源代碼中的bug并對(duì)其中的代碼風(fēng)格和復(fù)雜度進(jìn)行警告的靜態(tài)分析工具。另外一種工具是Pylint,它能夠驗(yàn)證模塊是否滿(mǎn)足編碼標(biāo)準(zhǔn)。
7)什么是Python裝飾器?
用來(lái)裝飾一個(gè)函數(shù)從而使這個(gè)函數(shù)在不修改本身的函數(shù)定義外,動(dòng)態(tài)產(chǎn)生額外的功能;裝飾函數(shù)的入?yún)樾枰谎b飾的函數(shù)。裝飾器本質(zhì)上是一個(gè)返回函數(shù)的高階函數(shù)
一個(gè)Python裝飾器是我們?cè)诜螾ython語(yǔ)法的同時(shí)又方便地對(duì)函數(shù)做的一些特定的修改。
8)列表、元組、集合、字典的區(qū)別是什么?
列表:元素可變(任何數(shù)據(jù)類(lèi)型),有序(可索引),append/insert/pop;
元組:元素不可變,但元素中的可變?cè)厥强勺兊模挥行颍ǹ伤饕欢以M可以被散列,例如作為字典的鍵。
集合:無(wú)序(不可被索引)、互異
字典:無(wú)序,鍵值對(duì)(key:value),key唯一不可重復(fù)
9)怎樣理解字典和列表?
它們是一種用來(lái)創(chuàng)建可變對(duì)象的語(yǔ)法結(jié)構(gòu),數(shù)據(jù)容器。
dic插入、查找速度比list快,不會(huì)隨key的增加而增加,但list會(huì)隨著元素的增加而增加(偏移量)
10)參數(shù)是如何通過(guò)值或者引用傳遞的?
python中確切說(shuō)應(yīng)該是“傳對(duì)象引用”的方式,引用對(duì)象傳遞。一切皆對(duì)象,參數(shù)皆引用
如果函數(shù)收到的是一個(gè)可變對(duì)象(比如列表、字典)的引用,則可修改對(duì)象的原始值==相當(dāng)于“引用傳遞”方式;
如果函數(shù)收到的是一個(gè)不可變對(duì)象(比如數(shù)字、字符、元組),就不能直接修改原始對(duì)象指向的值==相當(dāng)于“值傳遞”方式;
本文由培訓(xùn)無(wú)憂(yōu)網(wǎng)牛耳教育專(zhuān)屬課程顧問(wèn)整理發(fā)布,希望能夠?qū)ο雽W(xué)習(xí)長(zhǎng)沙Python開(kāi)發(fā)培訓(xùn)的同學(xué)有所幫助。更多Python開(kāi)發(fā)培訓(xùn)課程歡迎關(guān)注培訓(xùn)無(wú)憂(yōu)網(wǎng)Python開(kāi)發(fā)培訓(xùn)頻道或添加老師微信:15033336050
注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://www.hebeijilong.cn/news-id-4096.html 違者必究!部分文章來(lái)源于網(wǎng)絡(luò)由培訓(xùn)無(wú)憂(yōu)網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注python培訓(xùn)頻道查看更多,了解相關(guān)專(zhuān)業(yè)課程信息您可在線(xiàn)咨詢(xún)也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050