Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python mypy:类型“的值”;可选[映射[任何,任何]]”;是不可转位的_Python_Python 3.x_Type Hinting_Mypy - Fatal编程技术网

Python mypy:类型“的值”;可选[映射[任何,任何]]”;是不可转位的

Python mypy:类型“的值”;可选[映射[任何,任何]]”;是不可转位的,python,python-3.x,type-hinting,mypy,Python,Python 3.x,Type Hinting,Mypy,为什么mypy说databases库的fetch\u one方法返回的值是不可索引的?在这种情况下,我应该如何解决此错误 async def get_reaction_by_name(name: str, user_id: str) -> Optional[Mapping[Any, Any]]: query = reactions.select().where( (reactions.c.name == name) & (reactions.c.user_i

为什么
mypy
databases
库的
fetch\u one
方法返回的值是不可索引的?在这种情况下,我应该如何解决此错误

async def get_reaction_by_name(name: str, user_id: str) -> Optional[Mapping[Any, Any]]:
    query = reactions.select().where(
        (reactions.c.name == name) & (reactions.c.user_id == user_id)
    )
    return await database.fetch_one(query)

...

reaction = await get_reaction_by_name(name=name, user_id=user_id)
reaction["name"]

# mypy: Value of type "Optional[Mapping[Any, Any]]" is not indexable

mypy告诉我们的是,由于函数返回
可选[…]
,然后将其结果视为
映射[Any,Any]
,在给定的代码段中),我们应该检查它是否是

reaction=wait-get\u-reaction\u by\u-name(name=name,user\u-id=user\u-id)
如果反应不是无:
反应[“名称”]

mypy告诉我们的是,由于函数返回
可选[…]
,然后将其结果视为
映射[Any,Any]
,在给定的代码段中),我们应该检查它是否是
None

reaction=wait-get\u-reaction\u by\u-name(name=name,user\u-id=user\u-id)
如果反应不是无:
反应[“名称”]

什么是
数据库的签名。fetch_one
函数?另外,由于它是
可选的
mypy说,在将其视为
映射之前,您可能应该检查返回值是否为
None
,类似于
如果反应不是None:reaction[“name”]
检查
帮助!请添加一个答案,我将接受它。
数据库的签名是什么。fetch_one
函数?另外,由于它是
可选的
mypy说,您可能应该检查返回值是否不是
None
,然后再将其视为
映射
类似于
如果反应不是无:反应[“name”]
检查
帮助!请添加一个答案,我将接受它。