簡體   English   中英

如何明確告訴 mypy 變量的正確類型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM