abc

    7热度

    1回答

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

    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,具有相同的界面,其实我需要做一段代码向后兼容