[英]How to explicitly tell mypy the correct type of a variable?
我選擇了一個熊貓數據框的值,變量的類型是字符串。 在一個函數中,我返回了這個值,並將該值注釋為 str。
def get_item_name(code: str) -> str:
item = df.loc[code, "item_name"]
return item
但是,mypy 給了我以下警告:
“標量”類型的表達式不能分配給返回類型“str”
類型“標量”不能分配給類型“str”“bytes”與“str”不兼容PylancereportGeneralTypeIssues
有沒有辦法明確告訴 mypy 變量項的正確類型是字符串?
如果我使用str(df.loc[code, "item_name"])
我會收到警告消失,但這會使代碼看起來像值可能是一個數字,但我們將它轉換為字符串,而值不是這種情況已經是字符串了。
如果你真的確定,你可以使用 cast。 不過,你應該小心這一點。
from typing import cast
def get_item_name(code: str) -> str:
item = df.loc[code, "item_name"]
return cast(str, item)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.