1. 程式人生 > >python 類和方法(面向對象)

python 類和方法(面向對象)

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 類和方法(面向對象)