新聞中心
在Python配置中的一個文本區(qū)域,其中某個名字空間可以直接訪問,“直接訪問” 這里指的是使用不加修飾的名字就直接找到名字空間中的對象,可以直接學習Python不必先從C下手。

東至網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,東至網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為東至成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的東至做網(wǎng)站的公司定做!
例如,所有方法名用大寫字母開頭,所有數(shù)據(jù)屬性名前用一個***的字符串開頭(或者只是一個下劃線),或方法名用動詞而數(shù)據(jù)名用名詞。數(shù)據(jù)屬性可以被方法引用也可以被普通用戶(“客戶”)引用。換句話說,類不能用來構(gòu)造抽象數(shù)據(jù)類型。實際上。
Python中沒有任何辦法可以強制進行數(shù)據(jù)隱藏——這些都是基于慣例。(另一方面,Python的實現(xiàn)是用C寫的,它可以完全隱藏實現(xiàn)細節(jié),必要時可以控制對象存??;用C寫的Python擴展模塊也有同樣特性)。
客戶要自己小心使用數(shù)據(jù)屬性——客戶可能會因為隨意更改類對象的數(shù)據(jù)屬性而破壞由類方法維護的類數(shù)據(jù)的一致性。注意客戶只要注意避免名字沖突可以任意為實例對象增加新數(shù)據(jù)屬性而不需影響到方法的有效性——這里,有效的命名慣例可以省去許多麻煩。
從方法內(nèi)要訪問本對象的數(shù)據(jù)屬性(或其它方法)沒有一個簡寫的辦法。我認為這事實上增加了程序的可讀性:在方法定義中不會混淆局部變量和實例變量。習慣上,方法的***自變量叫做self。這只不過是一個習慣用法:名字self在Python配置中沒有任何特殊意義。但是。
因為用戶都使用此慣例,所以違背此慣例可能使其它Python配置不容易讀你的程序,可以想象某些類瀏覽程序會依賴于此慣例)。作為類屬性的任何函數(shù)對象都為該類的實例定義一個方法。函數(shù)的定義不一定必須在類定義內(nèi)部:只要在類內(nèi)把一個函數(shù)對象賦給一個局部變量就可以了。例如:
- >>> class Complex:
- ... def __init__(self, realpart, imagpart):
- ... self.r = realpart
- ... self.i = imagpart
- ...
- >>> x = Complex(3.0,-4.5)
- >>> x.r, x.i
- (3.0, -4.5)
現(xiàn)在f、g和h都是類C的屬性且指向函數(shù)對象,所以它們都是C的實例的方法——其中h與g 完全等價。注意我們應(yīng)該避免這種用法以免誤導讀者。方法可以用代表所屬對象的self自變量來引用本類其它的方法,如:
- class VirtualAttributes:
- __vdict = None
- __vdict_name = locals().keys()[0]
- def __init__(self):
- self.__dict__[self.__vdict_name] = {}
- def __getattr__(self, name):
- return self.__vdict[name]
- def __setattr__(self, name, value):
- self.__vdict[name] = value
方法可以和普通函數(shù)一樣地引用全局名字。方法的全局作用域是包含類定義的模塊。(注意類本身并不被用作全局作用域?。╇m然我們很少需要在方法中使用全局數(shù)據(jù),全局作用域還是有許多合法的用途:
例如,導入全局作用域的Python配置和模塊可以被方法使用。在同一模塊中定義的函數(shù)和方法也可以被方法使用。包含此方法的類一般也在此全局作用域中定義,下一節(jié)我們會看到一個方法為什么需要引用自己的類!
一段需要以某種抽象數(shù)據(jù)類型作為輸入的Python程序經(jīng)??梢越邮芤粋€類作為輸入,該類只是模仿了應(yīng)輸入的數(shù)據(jù)類型的方法。例如,如果你有一個函數(shù)是用來格式化一個文件對象中的數(shù)據(jù),就可一個定義一個具有方法read()和readline()的類,該類可以不從文件輸入而是從一個字符串緩沖區(qū)輸入,把這個類作為自變量。
【編輯推薦】
- 有關(guān)Python系統(tǒng)文件進行介紹指導
- 如何正確的使用Python函數(shù)
- 對Python 構(gòu)建工具進行詳細介紹分析
- PythonAndroid淺析Python優(yōu)勢所在
- 如何使用Python模塊解析配置文件?
新聞名稱:如何進行實現(xiàn)Python配置?
當前地址:http://www.5511xx.com/article/dpdschh.html


咨詢
建站咨詢
