国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

python抽象-類

2019-11-14 09:06:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

名詞解釋

對(duì)象 Object 包括attr和method類 Class obj的集合---- ----------------封裝 Encapsulation 隱藏obj的細(xì)節(jié)繼承 Inheritance 普通的class為基礎(chǔ),創(chuàng)建專門(mén)的subclass---- ----------------多態(tài) Polymorphism 對(duì)不同obj使用相同的Method Poly-多方法 Method 綁定到obj Attr上的函數(shù)特性 Attribute obj的變量---- ----------------子類 Subclass 一個(gè)class是另一個(gè)class的子集超類 Superclass 一個(gè)class是另一個(gè)class的超集構(gòu)造函數(shù) 不在此說(shuō)明

duck typing: 如果他像鴨子一樣呱呱大叫,那他就是鴨子

object的state由他的Attribute(變量)來(lái)描述object的Method(函數(shù))可以改變他的Attr(變量)

類和類型

一般對(duì)話使用復(fù)數(shù)名詞來(lái)描述class - 如,birdsPython習(xí)慣使用單數(shù)名詞,并且首字母大寫(xiě) - 如,BirdC++也是單數(shù)名詞,并且首字母大寫(xiě)mint在C++語(yǔ)言中更習(xí)慣再加前綴C - 如,CBird

e.g. 通常類的創(chuàng)建:

class 類名: attr1 = 0 attr2 = [] def Method1(self): PRint(self.attr1) def Method2(self, params): self.attr2[i] = params

e.g. 通常類的繼承:

class 類名(superclass1, superclass2, ...):self類似C++中的隱式參數(shù)this指針c++是隱式的,不用寫(xiě)出來(lái)

self參數(shù)正是方法函數(shù)的區(qū)別

新式類的聲明:

__metaclass__ = type # use new type

python為了讓方法或者特性變?yōu)樗接衟rivate,在他名前面加上雙下劃線即可 但python的私有化是假的,還是可以訪問(wèn)的到 而c++是使用編譯器的關(guān)鍵字private 此外,名字帶有下劃線的不會(huì)被form module import *的方式引用


一些面向?qū)ο蟮脑O(shè)計(jì)

將屬于一類的obj放一起不要讓obj過(guò)于親密,Method只關(guān)心自己obj的attr小心繼承,尤其是多重繼承簡(jiǎn)單就好,Method單一原則

如何創(chuàng)建類:

寫(xiě)下問(wèn)題的描述名字做類名動(dòng)詞作方法形容詞作特性把方法和特性分配到類

如何精煉模型:

寫(xiě)下一系列的實(shí)例,試著包括所有功能考慮和測(cè)試每個(gè)實(shí)例,少的補(bǔ),錯(cuò)的改

接口和內(nèi)省

getattr(obj, name[, default]) 返回attrhasattr(obj, name) 是否有此attr,返回bool值setattr(obj, name, value) 給obj創(chuàng)建obj并賦值isinstance(obj, class) obj是否是class的實(shí)例issubclass(A,B) A是否是B的subclasstype(obj) 返回對(duì)象類型

其他函數(shù)

random.choice(seq) 從非空序列中隨機(jī)選擇元素

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 麻城市| 东源县| 巴彦县| 津市市| 广昌县| 龙井市| 霍城县| 仁化县| 浪卡子县| 南城县| 新源县| 务川| 乌拉特前旗| 浑源县| 利辛县| 阆中市| 钟祥市| 温州市| 新竹市| 阆中市| 怀柔区| 宜宾市| 秦皇岛市| 永州市| 乌兰浩特市| 朝阳区| 涞水县| 常宁市| 乌拉特后旗| 鄂伦春自治旗| 云南省| 芒康县| 黄陵县| 乌苏市| 盐池县| 芷江| 灵川县| 临朐县| 崇文区| 安达市| 兴义市|