python编程、abc最大值_Python中abc
import abc
指定metaclass屬性將類設置為抽象類,抽象類本身只是用來約束子類的,不能被實例化
class Animal(metaclass=abc.ABCMeta): # 統一所有子類的方法
@abc.abstractmethod # 該裝飾器限制子類必須定義有一個名為talk的方法
def say(self):
print(‘動物基本的發聲...‘, end=‘‘)
class People(Animal): # 但凡繼承Animal的子類都必須遵循Animal規定的標準
pass
class Dog(Animal):
pass
class Pig(Animal):
pass
obj1 = People()
obj2 = Dog()
obj3 = Pig()
obj1.say() # 動物基本的發聲...臥槽
obj2.say() # 動物基本的發聲...汪汪汪
obj3.say() # 動物基本的發聲...吼吼吼
# 若子類中沒有一個名為talk的方法則會拋出異常TypeError,無法實例化
# TypeError: Can‘t instantiate abstract class People with abstract methods say
class Animal(metaclass=abc.ABCMeta): # 統一所有子類的方法
@abc.abstractmethod
def say(self):
print(‘動物基本的發聲...‘, end=‘‘)
class People(Animal):
def say(self):
super().say()
print(‘臥槽‘)
class Dog(Animal):
def say(self):
super().say()
print(‘汪汪汪‘)
class Pig(Animal):
def say(self):
super().say()
print(‘吼吼吼‘)
obj1 = People()
obj2 = Dog()
obj3 = Pig()
obj1.say() # 動物基本的發聲...臥槽
obj2.say() # 動物基本的發聲...汪汪汪
obj3.say() # 動物基本的發聲...吼吼吼
補充說明
Python語言特性 - 鴨子類型
“當一只鳥走起來像鴨子、游泳起來像鴨子、叫起來也像鴨子,那么這只鳥就可以被稱為鴨子”
總結
以上是生活随笔為你收集整理的python编程、abc最大值_Python中abc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓硬改软件(安卓硬改)
- 下一篇: 连江房产网络备案查询系统(连江房产网络备