類
把一類事物封裝在一起作爲類,內部可以有關於類的屬性和方法。
比如貓咪這個類:
屬性:叫聲 = 咪咪咪;跳躍高度 = 1.5m;喜愛的食物 = 小魚乾
方法(實現過程):晚上去睡覺;早上去偷魚
舉個例子:
class Cat: # 類開頭用大寫,函數開頭用小寫
# 屬性
叫聲 = '咪咪咪'
跳躍高度 = 1.5
喜愛的食物 = '小魚乾'
# 方法
def sleep(self):
"""函數sleep()是類Cat的一種方法
在方法裏引用屬性需要在前面加上self如下:"""
print('{0}:晚上到啦,去睡覺啦!'.format(self.叫聲))
def fish(self):
print('{0}:早上到咯,去偷魚啦!'.format(self.叫聲))
調用Cat這個類:
cat = Cat()
print(cat.叫聲)
cat.sleep()
cat.fish()
運行結果:
咪咪咪
咪咪咪:晚上到啦,去睡覺啦!
咪咪咪:早上到咯,去偷魚啦!
對象
對象是類的實例化
類是對象的模板
(類就像產品的模子,而對象是具體產品,類的最用是讓對象批量生產)
面向對象的編程方法
特徵:封裝;繼承;多態
封裝:打包
繼承:子類自動繼承父類方法
當有一個類,想建一個跟它類似的類,可使用繼承並添加屬性方法即可
例如:
class Mylist(list): # Mylist繼承了list的所有屬性和方法
pass
多態:不同對象對同一方法響應不同的行動
例如:
“移動”這個方法,對於老虎這個對象是(跑);
烏龜是(爬);
兔子是(跳)
class A:
def run(self):
print('跑')
class B:
def run(self):
print('跳')
a = A()
b = B()
a.run() # 跑
b.run() # 跳