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

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

python類定義的講解

2019-11-14 10:19:02
字體:
供稿:網(wǎng)友

http://www.jb51.net/article/42623.htm

python類定義的講解

一、類定義:復(fù)制代碼 代碼如下:class <類名>: <語句>類實(shí)例化后,可以使用其屬性,實(shí)際上,創(chuàng)建一個(gè)類之后,可以通過類名訪問其屬性。如果直接使用類名修改其屬性,那么將直接影響到已經(jīng)實(shí)例化的對(duì)象類的私有屬性:  __PRivate_attrs  兩個(gè)下劃線開頭,聲明該屬性為私有,不能在類地外部被使用或直接訪問。在類內(nèi)部的方法中使用時(shí) self.__private_attrs類的方法  在類地內(nèi)部,使用def關(guān)鍵字可以為類定義一個(gè)方法,與一般函數(shù)定義不同,類方法必須包含參數(shù)self,且為第一個(gè)參數(shù)私有的類方法  __private_method 兩個(gè)下劃線開頭,聲明該方法為私有方法,不能在類地外部調(diào)用。在類的內(nèi)部調(diào)用slef.__private_methods類的專有方法:__init__  構(gòu)造函數(shù),在生成對(duì)象時(shí)調(diào)用__del__   析構(gòu)函數(shù),釋放對(duì)象時(shí)使用__repr__ 打印,轉(zhuǎn)換__setitem__按照索引賦值__getitem__按照索引獲取值__len__獲得長(zhǎng)度__cmp__比較運(yùn)算__call__函數(shù)調(diào)用__add__加運(yùn)算__sub__減運(yùn)算__mul__乘運(yùn)算__div__除運(yùn)算__mod__求余運(yùn)算__pow__稱方復(fù)制代碼 代碼如下:#類定義      class people:          #定義基本屬性          name = ''          age = 0          #定義私有屬性,私有屬性在類外部無法直接進(jìn)行訪問          __weight = 0          #定義構(gòu)造方法          def __init__(self,n,a,w):              self.name = n              self.age = a              self.__weight = w          def speak(self):              print("%s is speaking: I am %d years old" %(self.name,self.age))            p = people('tom',10,30)      p.speak()二、繼承類定義:1.單繼承復(fù)制代碼 代碼如下:class <類名>(父類名)   <語句>復(fù)制代碼 代碼如下:class childbook(book)    age = 10復(fù)制代碼 代碼如下:#單繼承示例      class student(people):          grade = ''          def __init__(self,n,a,w,g):              #調(diào)用父類的構(gòu)函              people.__init__(self,n,a,w)              self.grade = g          #覆寫父類的方法          def speak(self):              print("%s is speaking: I am %d years old,and I am in grade %d"%(self.name,self.age,self.grade))          s = student('ken',20,60,3)      s.speak()2.類的多重繼承復(fù)制代碼 代碼如下:class 類名(父類1,父類2,....,父類n)     <語句1>需要注意圓括號(hào)中父類的順序,若是父類中有相同的方法名,而在子類使用時(shí)未指定,python從左至右搜索,即方法在子類中未找到時(shí),從左到右查找父類中是否包含方法復(fù)制代碼 代碼如下:#另一個(gè)類,多重繼承之前的準(zhǔn)備  class speaker():      topic = ''      name = ''      def __init__(self,n,t):          self.name = n          self.topic = t      def speak(self):          print("I am %s,I am a speaker!My topic is %s"%(self.name,self.topic))  #多重繼承  class sample(speaker,student):      a =''      def __init__(self,n,a,w,g,t):          student.__init__(self,n,a,w,g)          speaker.__init__(self,n,t)  test = sample("Tim",25,80,4,"Python")  test.speak()#方法名同,默認(rèn)調(diào)用的是在括號(hào)中排前地父類的方法
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武夷山市| 吴川市| 丹凤县| 苏尼特右旗| 淳化县| 贵溪市| 吴忠市| 潮州市| 上犹县| 巴东县| 江川县| 孙吴县| 韶关市| 柳林县| 吴忠市| 博罗县| 兴仁县| 大渡口区| 会宁县| 漾濞| 潞西市| 重庆市| 桦甸市| 东宁县| 宝鸡市| 莲花县| 天全县| 榆社县| 郁南县| 玛沁县| 丰镇市| 方城县| 博白县| 芒康县| 永福县| 吉安市| 长葛市| 昔阳县| 湘阴县| 祁连县| 依安县|