-1

将元类设置为LoggingType我在工作场所发现的示例。

import logging as _logging
class SomeClass(object):
    __metaclass__ = _logging.LoggingType

这是我看到的ABCMeta设置为的示例__metaclass__

如果它们是将 ABCMeta 设置为元类的任何示例,我想知道实际优势,如下所示:来自文档

from abc import ABCMeta

class MyABC:
    __metaclass__ = ABCMeta

对我来说,我的问题听起来像是如何利用

 register(subclass)

    Register subclass as a “virtual subclass”

我们如何从中受益?

如果您发现我的问题重复,请链接此帖子!

4

1 回答 1

0

hasattr()抽象基类是一种比对特定方法的单独检查更严格的接口检查形式。通过定义一个抽象基类,您可以为一组子类定义一个通用 API。此功能在第三方将提供实现的情况下特别有用,例如应用程序的插件,但也可以在大型团队或大型代码库中为您提供帮助,其中将所有类保存在您的同时头是困难的或不可能的。

参考: http: //pymotw.com/2/abc/

于 2015-04-17T06:25:53.733 回答