00105 python類

就是一類東西的總稱,創建一個類,然後在類裏面創建對象,這些對象就會自動具有該類的所有屬性

class Dog():  #創建類 給出類名Dog——根據約定,在Python中,首字母大寫的名稱指的是類。

     def __init__(self, name, age): #注意前後各有兩個下劃線,代表這是默認的方法,在該類下創建任何對象時,都將自動運行該方法。
          """初始化屬性name和age"""
          """第一個參數self由程序自動給出,不需要賦值,
             它代表的是我們創建的對象,作爲self參數,代進類定義裏的所有函數之中,從擁有該類所有屬性
             因此,類定義裏的每一個函數,都有一個self參數,而且必須放在第一位"""
          self.name = name
          self.age = age  #由於初始化方法自動運行,每一個小狗對象都將有一個名字和年齡

     def sit(self):
          """模擬小狗被命令時蹲下"""
          print(self.name.title() + " is now sitting.")

     def roll_over(self):
          """模擬小狗被命令時打滾"""
          print(self.name.title() + " rolled over!")

mydog=dog('harry',6)  #類的實例化——創建一個實例
     #在創建實例時,必須要給出__init__方法所需的所有參數,否則報錯
print(mydog.name) #>>>harry 該實例擁有了name屬性,可以訪問

類的繼承——將一個類的屬性賦給另一個類(而不是給它的實例們),被繼承的類是父類,繼承的類是子類

#定義父類
class Man():
     def __init__(self,sex,age):
          self.sex=sex
          self.age=age

#定義子類
class Chinese(Man): #注意:定義子類與父類的區別就是括號裏要給出父類名稱
     def __init__(self,sex,age,nation):
          super().__init__(self,sex,age)  #super就是父類的意思
          self.nation=nation

zhangsan=Chinese('F',28,'China')
print(zhangsan.sex)  >>>'F'  #引用父類的屬性,方法也可以引用,在此不予列出
print(zhangsan.age)  >>>28 
print(zhangsan.nation)  >>>'China'

#在子類的定義裏如果有跟父類定義裏方法名一樣的方法,相當於修改了繼承而來的方法,以後的調用將以子類定義內的方法爲準

類的嵌套:
通過將一個類的屬性,定義爲另一個類,可以實現嵌套
     self.attr = anotherclass()

類的模塊化:將定義好的類存爲一個單獨的.py文件,使其變成一個獨立的模塊
模塊導入: from module_name import class_name1, class_name2

TIPS:
  • 命名原則:類名應採用駝峯命名法,即將類名中的每個單詞的首字母都大寫,而不使用下劃線。實例名和模塊名都採用小寫格式,並在單詞之間加上下劃線。
  • 註釋:定義類後給出註釋,簡要描述其功能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章