abc

    4熱度

    2回答

    我最近在集合中發現了抽象基類(ABCs),就像他們清晰的系統方法和Mixin一樣。現在我也想創建海關字符串(*),但我找不到字符串的ABC。 有UserString,但UserDict不鼓勵!?從str本身派生將不會有Mixins?如何訪問重寫方法中字符串的「數據」部分? 某處我看到了從Sequence和Hashable派生出來的建議,但後來我無法寫出if 'test' in my_string:

    17熱度

    1回答

    我已閱讀關於抽象基類python文檔: 從here: abc.abstractmethod(function) 裝飾器指示的抽象方法。 使用裝飾器需要該類的元類是ABCMeta或 是從它派生的。除非其所有抽象方法和屬性都被覆蓋,否則無法實例化具有從ABCMeta 派生的元類的類。 而且here 您可以將@abstractmethod裝飾的方法,如抽獎() 必須實現的;然後,Python將提出一個例

    0熱度

    1回答

    我有以下一種超/子類設置的: class SuperClass(object): def __init__(self): self.do_something() # requires the do_something method always be called def do_something(self): raise NotImplemented

    0熱度

    2回答

    它的錯誤我是一類的默認__repr__()是如此無信息: >>> class Opaque(object): pass ... >>> Opaque() <__main__.Opaque object at 0x7f3ac50eba90> ...所以我一直在思考如何改進它。考慮一點後,我想出了這個抽象基類,它充分利用了pickle協議的__getnewargs__()方法: from a

    10熱度

    1回答

    我不明白爲什麼下面的代碼表現一種特殊的方式,其描述如下: from abc import ABCMeta class PackageClass(object): __metaclass__ = ABCMeta class MyClass1(PackageClass): pass MyClass2 = type('MyClass2', (PackageClass,

    17熱度

    3回答

    我有沿的線條抽象基類: class MyAbstractClass(object): __metaclass__ = ABCMeta @abstractproperty def myproperty(self): pass 但是當我運行nosetests(該報道)在我的項目,它抱怨該財產的防線是未經測試。它不能實際上進行測試(據我所知)爲抽象類會導致被引發異常的

    4熱度

    3回答

    假設我有Function類,其實例是帶有一個參數的可調用元素。我以直接的方式爲這些類定義了逐點算術。這裏是我的代碼的簡化版本(其實我有更復雜的行爲在__init__和__call__但它無關了這個問題): class Function: ''' >>> f = Function(lambda x : x**2) >>> g = Function(lambda x :

    0熱度

    1回答

    我有一個嚴重的問題。我研究了兩天,但我解決不了。 當我運行我的應用程序時,出現錯誤。 package jl.a.simple; import android.app.Activity; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import androi

    0熱度

    2回答

    是否有人知道舊版本Python(早於2.6)的abc的實現? 編輯:我是例如尋找一個片斷,會做同樣的事情ABCMeta和abstractmethod,具有相同的界面,其實我需要做一段代碼向後兼容

    7熱度

    1回答

    我有以下模型和抽象基類 import abc from django.db import models class AbstractBase(): __metaclass__ = abc.ABCMeta @abc.abstractmethod def my_method(self): return class MyModel(models.