如何显式地告诉我变量的正确类型?



我选择一个pandas数据框架的值,变量的类型是string。在函数中,我返回这个值,并将该值标注为str。

def get_item_name(code: str) -> str:
item = df.loc[code, "item_name"]
return item

然而,mypy给出了以下警告:

类型为"标量"的表达式;
类型"标量"不能赋值给类型"str"bytes"与"str"PylancereportGeneralTypeIssues不兼容

是否有一种方法可以明确地告诉mypy变量item的正确类型是string?

如果我使用str(df.loc[code, "item_name"]),我会得到消失的警告,但这使代码看起来像值可能是一个数字,但我们将其转换为字符串,这不是情况,因为值已经是字符串。

如果你真的很确定,你可以使用强制转换。但是,您应该小心使用它。

from typing import cast
def get_item_name(code: str) -> str:
item = df.loc[code, "item_name"]
return cast(str, item)

最新更新