Python中的parser指的是什么-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)公司云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)13年的服務(wù)器租用、綿陽(yáng)電信機(jī)房、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn),已先后獲得國(guó)家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、申請(qǐng)域名、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

小編給大家分享一下Python中的parser指的是什么,相信大部分人都還不怎么了解,因此分享這邊文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!

所謂 parser,一般是指把某種格式的文本(字符串)轉(zhuǎn)換成某種數(shù)據(jù)結(jié)構(gòu)的過(guò)程。最常見(jiàn)的 parser,是把程序文本轉(zhuǎn)換成編譯器內(nèi)部的

一種叫做“抽象語(yǔ)法樹(shù)”(AST)的數(shù)據(jù)結(jié)構(gòu)。也有簡(jiǎn)單一些的 parser,用于處理 CSV,JSON,XML 之類(lèi)的格式。

舉個(gè)例子,一個(gè)處理算數(shù)表達(dá)式的 parser,可以把“1+2”這樣的,含有 1,+,2 三個(gè)字符的字符串,轉(zhuǎn)換成一個(gè)對(duì)象(object)。這

個(gè)對(duì)象就像 new BinaryExpression(ADD, new Number(1), new Number(2)) 這樣的 Java 構(gòu)造函數(shù)調(diào)用生成出來(lái)的那樣。

之所以需要做這種從字符串到數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換,是因?yàn)榫幾g器是無(wú)法直接操作“1+2”這樣的字符串的。實(shí)際上,代碼的本質(zhì)根本就不是

字符串,它本來(lái)就是一個(gè)具有復(fù)雜拓?fù)涞臄?shù)據(jù)結(jié)構(gòu),就像電路一樣?!?+2”這個(gè)字符串只是對(duì)這種數(shù)據(jù)結(jié)構(gòu)的一種“編碼”,就像 ZIP 

或者 JPEG 只是對(duì)它們壓縮的數(shù)據(jù)的編碼一樣。

這種編碼可以方便你把代碼存到磁盤(pán)上,方便你用文本編輯器來(lái)修改它們,然而你必須知道,文本并不是代碼本身。所以從磁盤(pán)讀取了文

本之后,你必須先“解碼”,才能方便地操作代碼的數(shù)據(jù)結(jié)構(gòu)。比如,如果上面的 Java 代碼生成的 AST 節(jié)點(diǎn)叫 node,你就可以用

node.operator 來(lái)訪問(wèn) ADD,用 node.left 來(lái)訪問(wèn) 1,node.right 來(lái)訪問(wèn) 2。這是很方便的。

對(duì)于程序語(yǔ)言,這種解碼的動(dòng)作就叫做 parsing,用于解碼的那段代碼就叫做 parser。

以上是Python中的parser指的是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

文章名稱(chēng):Python中的parser指的是什么-創(chuàng)新互聯(lián)
文章出自:http://bm7419.com/article16/gijgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、云服務(wù)器、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)