国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python抽象基類用法實例分析

2020-02-23 01:31:41
字體:
來源:轉載
供稿:網友

本文實例講述了python抽象基類用法。分享給大家供大家參考。具體如下:

定義抽象類,需要使用abc模塊,該模塊定義了一個元類(ABCMeata),和裝飾器 @abstractmethod, @abstractproperty
如果要實例化繼承了Foo 的子類,子類必須實現了Foo所有的抽象方法(跟java一樣),否則實例化報錯。
抽象類不能直接實例化

#!coding=utf-8from abc import ABCMeta, abstractmethod, abstractpropertyclass Foo:  __metaclass__ = ABCMeta  @abstractmethod  #在python3.0中 使用 class Foo(metaclass=ABCMeta)語法  def spam(self, a, b):    pass  @abstractproperty  def name(self):    passclass Bar(Foo):  def spam(self, a, b):    print a, b  def name():    passb = Bar()b.spam(1,2)

抽象基類支持對已經存在的類進行注冊,使其屬于該基類,使用register()方法
向抽象基類注冊某個類,對于注冊類中的實例,涉及后續基類的類檢測操作比如(isinstance, issubclass) 將返回True,向抽象基類注冊某個類時,不會檢查該類是否實現了任何抽象方法或特性,這種注冊過程只會影響類型檢查

class Crok(object):  def spam(self, a, c):    print "gork.span"Foo.register(Grok)

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 澎湖县| 惠来县| 六盘水市| 云和县| 洞口县| 新昌县| 分宜县| 宣武区| 威海市| 乐昌市| 融水| 石狮市| 龙南县| 龙州县| 华阴市| 花垣县| 南城县| 宜兰市| 长岭县| 边坝县| 涿州市| 化隆| 电白县| 南木林县| 元氏县| 桂东县| 桃江县| 屏东县| 千阳县| 榆中县| 桂平市| 广汉市| 遵义市| 若尔盖县| 新安县| 新乡市| 石台县| 宝兴县| 黄龙县| 玛曲县| 潮州市|