日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
對(duì)Python應(yīng)用程序進(jìn)行剖析解讀

Python應(yīng)用程序是一個(gè)真正面向?qū)ο蟮恼Z(yǔ)言,它只增加了很少的新語(yǔ)法就實(shí)現(xiàn)了類,它的類機(jī)制是C++ 和Modula-3的類機(jī)制的混合,Python的類并不嚴(yán)格限制用戶對(duì)定義的修改,它依賴于用戶自覺不去修改定義。

站在用戶的角度思考問題,與客戶深入溝通,找到鎮(zhèn)坪網(wǎng)站設(shè)計(jì)與鎮(zhèn)坪網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋鎮(zhèn)坪地區(qū)。

類繼承機(jī)制允許多個(gè)基類的繼承,導(dǎo)出類可以重載基類的任何方法,方法可以調(diào)用基類的同名方法。對(duì)象可以包含任意多的私有數(shù)據(jù)。用C++術(shù)語(yǔ)說,所有類成員(包括數(shù)據(jù)成員)是公用的,所有成員函數(shù)是虛擬(virtual)的。沒有特別的構(gòu)建函數(shù)或銷毀函數(shù)(destructor)。

如同在Modula-3中一樣,從對(duì)象的方法中要引用對(duì)象成員沒有簡(jiǎn)捷的辦法:方法函數(shù)的必須以對(duì)象作為第一個(gè)參數(shù),而在調(diào)用時(shí)則自動(dòng)提供。象在Smalltalk中一樣,類本身也是對(duì)象,實(shí)際上這里對(duì)象的含義比較寬:在Python 中所有的數(shù)據(jù)類型都是對(duì)象。

象在C++或Modula-3中一樣,內(nèi)置類型不能作為基類由用戶進(jìn)行擴(kuò)展。并且,象C++但不象Modula-3,多數(shù)有特殊語(yǔ)法的內(nèi)置函數(shù)(如算術(shù)算符、下標(biāo)等)可以作為類成員重定義。

Python應(yīng)用程序的對(duì)象概念比較廣泛,對(duì)象不一定非得是類的實(shí)例,因?yàn)槿缤珻++和Modula-3而不同于Smalltalk,Python的數(shù)據(jù)類型不都是類。比如基本內(nèi)置類型整數(shù)、列表等不是類,甚至較古怪的類型如文件也不是類。然而,Python所有的數(shù)據(jù)類型都或多或少地帶有一些類似對(duì)象的語(yǔ)法。

對(duì)象是有單獨(dú)身份的,同一對(duì)象可以有多個(gè)名字與其聯(lián)系,這在其他語(yǔ)言中叫做別名。這樣做的好處乍一看并不明顯,而且對(duì)于非可變類型(數(shù)字、字符串、序表(tuple))等沒有什么差別。

但是別名句法對(duì)于包含可變對(duì)象如列表、字典及涉及程序外部物件如文件、窗口的程序有影響,這可以有利于程序編制。在引入類之前,我們必須講一講Python的作用域規(guī)則。類定義很好地利用了名字空間,需要了解Python如何處理作用域和名字空間才能充分理解類的使用。另外,作用域規(guī)則也是一個(gè)高級(jí)Python程序員必須掌握的知識(shí)。

因?yàn)閯e名有些類似指針:比如,傳遞一個(gè)對(duì)象變得容易,因?yàn)檫@只是傳遞了一個(gè)指針;如果一個(gè)函數(shù)修改了作為參數(shù)傳遞來的對(duì)象,修改結(jié)果可以傳遞回調(diào)用處。這樣就不必象Pascal那樣使用兩種參數(shù)傳遞機(jī)制。

名字空間是從名字到對(duì)象的映射。多數(shù)名字空間目前是用Python字典類型實(shí)現(xiàn)的,不過這一點(diǎn)一般是注意不到的,而且將來可能會(huì)改變。下面是名字空間的一些實(shí)例:Python中內(nèi)置的名字(如abs()等函數(shù),以及內(nèi)置的例外名);模塊中的全局名;函數(shù)調(diào)用中的局部變量名。

在某種意義上一個(gè)對(duì)象的所有屬性也構(gòu)成了一個(gè)名字空間。關(guān)于名字空間最重要的事要知道不同名字空間的名字沒有任何聯(lián)系;例如,兩個(gè)不同模塊可能都定義了一個(gè)叫“maximize ”的函數(shù)而不會(huì)引起混亂,因?yàn)槟K的用戶必須在函數(shù)名之前加上模塊名作為修飾。

另外,在Python應(yīng)用程序中可以把任何一個(gè)在句點(diǎn)之后的名字稱為屬性,例如,在表達(dá)式z.real中,real是一個(gè)對(duì)象z的屬性。嚴(yán)格地說,對(duì)模塊中的名字的引用是屬性引用:在表達(dá)式modname.funcname 中,modname是一個(gè)模塊對(duì)象,funcname是它的一個(gè)屬性。

在這種情況下在模塊屬性與模塊定義的全局名字之間存在一個(gè)直接的映射:它們使用相同的名字空間!屬性可以是只讀的也可以是可寫的。在屬性可寫的時(shí)候,可以對(duì)屬性賦值。

名字空間與不同時(shí)刻創(chuàng)建,有不同的生存周期。包含Python內(nèi)置名字的名字空間當(dāng)Python 解釋程序開始時(shí)被創(chuàng)建,而且不會(huì)被刪除。模塊的全局名字空間當(dāng)模塊定義被讀入時(shí)創(chuàng)建,一般情況下模塊名字空間也一直存在到解釋程序退出。由解釋程序的最頂層調(diào)用執(zhí)行的語(yǔ)句。

不論是從一個(gè)腳本文件讀入的還是交互輸入的,都屬于一個(gè)叫做__main__的模塊,所以也存在于自己的全局名字空間之中。(內(nèi)置名字實(shí)際上也存在于一個(gè)模塊中,這個(gè)模塊叫做__builtin__ )。

函數(shù)的局部名字空間當(dāng)函數(shù)被調(diào)用時(shí)創(chuàng)建,當(dāng)函數(shù)返回或者產(chǎn)生了一個(gè)不能在函數(shù)內(nèi)部處理的例外時(shí)被刪除。(實(shí)際上,說是忘記了這個(gè)名字空間更符合實(shí)際發(fā)生的情況。)當(dāng)然,遞歸調(diào)用在每次遞歸中有自己的局部名字空間。

一個(gè)作用域是Python應(yīng)用程序中的一個(gè)文本區(qū)域,其中某個(gè)名字空間可以直接訪問?!爸苯釉L問” 這里指的是使用不加修飾的名字就直接找到名字空間中的對(duì)象,雖然作用域是靜態(tài)定義的,在使用時(shí)作用域是動(dòng)態(tài)的。

在任何運(yùn)行時(shí)刻,總是恰好有三個(gè)作用域在使用中(即恰好有三個(gè)名字空間是直接可訪問的):最內(nèi)層的作用域,最先被搜索,包含局部名字;中層的作用域,其次被搜索,包含當(dāng)前模塊的全局名字;最外層的作用域最后被搜索,包含內(nèi)置名字。


當(dāng)前名稱:對(duì)Python應(yīng)用程序進(jìn)行剖析解讀
URL鏈接:http://www.dlmjj.cn/article/dpsohpo.html