溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Class與Object怎么在Python中使用

發(fā)布時間:2021-03-31 17:29:20 來源:億速云 閱讀:240 作者:Leah 欄目:開發(fā)技術

這期內(nèi)容當中小編將會給大家?guī)碛嘘PClass與Object怎么在Python中使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

類和對象的概念很難去用簡明的文字描述清楚。從知乎上面的一個回答中可以嘗試去理解:

對象:對象是類的一個實例(對象不是找個女朋友),有狀態(tài)和行為。例如,一條狗是一個對象,它的狀態(tài)有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。

類:類是一個模板,它描述一類對象的行為和狀態(tài)。

class

class是用來定義類的。類在面向對象編程里面是很有用的,能夠大大提升開發(fā)效率和代碼維護性。直接上代碼學習:

class student(object):
  def print_info(self):
    print("student's info is very important!")

student1 = student()
student1.print_info()

運行結果如圖:

Class與Object怎么在Python中使用

class student():
  def __init__(self,name,gender):
    self.Name = name
    self.Gender = gender
    print("student's name is ",name,' and it is a ',gender)

testman = student("Mike","Male")

這個類可以通過一個__init__ 進行初始化,相當于定義類了。在主代碼中,先要進行實例化,即testman = student() 然后才能調(diào)用里面的方法。運行結果如下:

Class與Object怎么在Python中使用

繼承

關于繼承,就是子類可以繼承父類的公有函數(shù)。例如:

class Parent:
  def Family(self):
    print("we are family")

class Child(Parent):
  pass

father = Parent()
son = Child()

father.Family()
son.Family()

在這里,Parent 類是父類,Child 類是子類,但是通過定義,繼承了父類。所以在后面實例化之后,son 依然可以調(diào)用父類的函數(shù)。最后的運行結果如下:

Class與Object怎么在Python中使用

override

當然,子類除了繼承,還可以重寫父類的函數(shù)功能。

class Parent:
  def Family(self):
    print("we are family")

class Child(Parent):
  def Family(self):
    print("hey,i am son")

father = Parent()
son = Child()

father.Family()
son.Family()

在這個例子中,Child 類重寫了父類函數(shù)里面的Family 函數(shù),最后的運行結果如下:

Class與Object怎么在Python中使用

super

super是一個超類。這個概念很抽象,但是用例子來說明一下就不會那么抽象了。

class Parent:
  def Family(self):
    print("we are family")

class Child(Parent):
  def Family(self):
    print("hey,i am son")
    super(Child,self).Family()
    print("again, i am son")

father = Parent()
son = Child()

father.Family()
son.Family()

運行結果如下:

從上面的例子很容易看出,super 就是將父類的函數(shù)再調(diào)用了一次。

Class與Object怎么在Python中使用

上述就是小編為大家分享的Class與Object怎么在Python中使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI