有没有一种魔术方法可以知道通过继承使用了基类?

时间:2019-02-22 14:01:47

标签: python python-2.7

我想用代码来描述我的问题,以使其清楚:

<div class="container">
  <div class="row">
    <div class="col-md-4" *ngFor="let post of postPag" >
        {{ post.body }}
        <p><button class="btn btn-secondary" (click)="viewDetails(post.post_id)">View details &raquo;</button></p>
    </div> 
  </div>
  <hr>
</div> 

现在,我想知道类对象是否有类似的魔术方法 class MyBaseClass(object): def __init__(self): print 'foobar' def __call__(self): print 'spameggs' def __is_used__(self): # This is only a pseudo method print 'I\'m being used! - MyBaseClass' class MySubClass(MyBaseClass): def __init__(self): print 'monty python' ,以了解它是否被用作另一个类的父类/基类(子)?

用法示例:

__is_used__

用例

为避免混淆,(我道歉)。最好的例子是mixin。以class_a = MySubClass() # Output # monty python # I'm being used! - MyBaseClass 为例。

S3Mixin具有将文件上传和下载到S3存储桶的功能。

S3Mixin

现在我想将其用于class S3Mixin(object): def upload(self): def download(self): ImageFile类。

VideoFile

现在,每个对象都有使用s3基本功能的功能。现在,当我尝试在S3Mixin内部使用另一个模块时,就会出现真正的问题,这会导致循环依赖性问题。现在要避免它,我必须将其导入S3Mixin的每个函数中。我尝试将其放在class ImageFile(S3Mixin): # omitted lengthy properties class VideoFile(S3Mixin): # omitted lengthy properties 方法和__init__方法上,这显然行不通。

我不想那样做。相反,我想知道是否有可用的方法,以便可以导入所有冲突的模块(最好是S3Mixin的魔术方法)。

注意:

我不是要检查作为另一个类的子类的类。那远不是问题。我想知道是否有魔术方法,以便在使用基类时可以在其中进一步创建逻辑。

0 个答案:

没有答案