python 類和方法(面向對象)
阿新 • • 發佈:2018-02-27
self. 多態 from 中國 輸出結果 類的方法 人類 如果 計算
類和方法
name = "Jack" city = "bejing" print("my name is %S and come from %s "%(name,city)) print ("hello 51zxw") name = "harry" city = "shengzhen" print("my name is %S and come from %s "%(name,city)) print ("hello 51zxw") 思考幾個問題?如果班上有50個同學依次上面形式介紹怎麽辦? 類與對象 人類 屬性:地域、膚色、國家 功能: 走路、思考、飲食、跑 具體對象:中國人、非洲人 學生 屬性:姓名、學號、城市、年齡 功能:聽、讀、寫、說 具體對象:jack同學、harry同學 三大特殊:封裝、繼承、多態 定義一個學生的類class Student(object):#括號不寫默認也是object,可寫可不寫 def _init_(self,name,city): #構造函數 self.name = name #self相當於是是一個孩子,把名字綁定在這個孩子身上 self.city = city print ("my name is %s and come from %s %(name,city)") def talk(self): print ("hello 51zxw") 生成實例對象 stu1 = Student("jack","beijing")#創建對象 stu1.talk() #對象調用方法 stu2 = Student("harry",shengzhen) stu2.talk()
輸出結果:
name is jack and come from beijing
hello 51zxw
例二:
class A(): def add(self,a,b): return a+b count = A() print (count.add(3,5)) 輸出結果: 8
例三
class A(): def _init_(self,a,b): self.a = int(a) self.b = int(b)def add(self): return self.a+self.b count = A(3,4) count.add() 輸出結果: 7 """解析:當調用A類時首先執行_init_方法,所以需要對其進行傳參,初始化做的事就是將輸入的類型化為整型,而add()可以直接拿初始化的self.a self.b進行計算,調用add()時不需要再進行傳參"""
類的繼承
class A(): def add(self,a,b): return a+b class B(A): def sub(self,a,b): return a-b print (B().add(3, 4)) #調用父類方法 輸出結果: 7 print (B().sub(3, 4))#調用自己的方法 輸出結果: -1
先創建了A類,又創建了B類,B類繼承了A類,所以B可以調用A類的方法
python 類和方法(面向對象)