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

首頁 > 學院 > 開發設計 > 正文

python類定義的講解

2019-11-14 09:52:04
字體:
來源:轉載
供稿:網友

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

python類定義的講解

一、類定義:復制代碼 代碼如下:class <類名>: <語句>類實例化后,可以使用其屬性,實際上,創建一個類之后,可以通過類名訪問其屬性。如果直接使用類名修改其屬性,那么將直接影響到已經實例化的對象類的私有屬性:  __PRivate_attrs  兩個下劃線開頭,聲明該屬性為私有,不能在類地外部被使用或直接訪問。在類內部的方法中使用時 self.__private_attrs類的方法  在類地內部,使用def關鍵字可以為類定義一個方法,與一般函數定義不同,類方法必須包含參數self,且為第一個參數私有的類方法  __private_method 兩個下劃線開頭,聲明該方法為私有方法,不能在類地外部調用。在類的內部調用slef.__private_methods類的專有方法:__init__  構造函數,在生成對象時調用__del__   析構函數,釋放對象時使用__repr__ 打印,轉換__setitem__按照索引賦值__getitem__按照索引獲取值__len__獲得長度__cmp__比較運算__call__函數調用__add__加運算__sub__減運算__mul__乘運算__div__除運算__mod__求余運算__pow__稱方復制代碼 代碼如下:#類定義      class people:          #定義基本屬性          name = ''          age = 0          #定義私有屬性,私有屬性在類外部無法直接進行訪問          __weight = 0          #定義構造方法          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.單繼承復制代碼 代碼如下:class <類名>(父類名)   <語句>復制代碼 代碼如下:class childbook(book)    age = 10復制代碼 代碼如下:#單繼承示例      class student(people):          grade = ''          def __init__(self,n,a,w,g):              #調用父類的構函              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.類的多重繼承復制代碼 代碼如下:class 類名(父類1,父類2,....,父類n)     <語句1>需要注意圓括號中父類的順序,若是父類中有相同的方法名,而在子類使用時未指定,python從左至右搜索,即方法在子類中未找到時,從左到右查找父類中是否包含方法復制代碼 代碼如下:#另一個類,多重繼承之前的準備  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()#方法名同,默認調用的是在括號中排前地父類的方法
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙山县| 云林县| 吴江市| 苍南县| 灵武市| 尼玛县| 松溪县| 巴彦县| 崇州市| 柳林县| 星子县| 台中县| 荣成市| 乌兰察布市| 裕民县| 麻江县| 绍兴市| 南宁市| 台东市| 乌拉特中旗| 东台市| 武鸣县| 历史| 建瓯市| 富民县| 哈密市| 河津市| 洪泽县| 赤水市| 瑞安市| 平武县| 南宁市| 繁峙县| 县级市| 城步| 离岛区| 云霄县| 昌图县| 普陀区| 武胜县| 沈丘县|