我有一个用mypy类型的python管理数据库实例的类。为了方便起见,接受UUID或人类友好的字符串名称。
@contextmanager
def _database(self, dbId:Union[str,UUID], dupsort=False, write=True) -> lmdb.Cursor:
"""A helper context-manager that creates
a curser for the given database.
"""
if type(dbId)==str:
dbId = builtinDatabases[dbId]
#The rest of the code
我想将基于字符串的数据库名称标准化为UUID,而不会引起类型检查器的注意。我应该怎么做?我宁愿不使用functools.singledispatch
。