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

首頁 > 編程 > Python > 正文

python抽象基類用法實例分析

2019-11-25 17:18:34
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上犹县| 淳化县| 神农架林区| 靖州| 绥宁县| 柳州市| 嘉祥县| 景德镇市| 晋州市| 上犹县| 屯留县| 东至县| 安吉县| 本溪市| 富平县| 黄梅县| 永康市| 东乡族自治县| 中江县| 平乡县| 吴川市| 蒲城县| 嵊州市| 梁山县| 新安县| 林芝县| 轮台县| 林西县| 万年县| 邹平县| 广东省| 夹江县| 龙门县| 北安市| 扶余县| 九寨沟县| 西峡县| 普宁市| 静宁县| 襄垣县| 巴青县|