Абстрактные классы и PyMongo; не может создать экземпляр абстрактного класса

Я создал пустой абстрактный классAbstractStorage и унаследовалStorage класс от него:

import abc
import pymongo as mongo

host = mongo.MongoClient()

print(host.alive()) # True

class AbstractStorage(metaclass=abc.ABCMeta):
    pass

class Storage(AbstractStorage):
    dbh = host
    def __init__(self):
        print('__init__')

Storage()

Я ожидал, что результат будет

True
__init__

однако, тот, который я получаю,

True
Traceback (most recent call last):
  File "/home/vaultah/run.py", line 16, in <module>
    Storage()
TypeError: Can't instantiate abstract class Storage with abstract methods dbh

Проблема (видимо) исчезнет, ​​если я уберуmetaclass=abc.ABCMeta (чтобыAbstractStorage становится обычным классом) и / или если я установлюdbh на какую-то другую ценность.

Что тут происходит?

Ответы на вопрос(1)

Ваш ответ на вопрос