我正在建立一个网站与Flutter/Dart前端和python后端。我非常喜欢Dart严格的静态检查(节省了我大量的调试时间),所以我也开始在python中使用类型检查。
在Dart/Flutter中,我可以按照如下方式指定变量为int或null类型:
final int? myInt = 1;
当在代码的未来点使用myInt
时,我可以通过附加感叹号告诉Dart的类型检查器变量当前不为空,例如:
final int myIntNotNull = myInt!;
在python中,我可以类似地指定一个变量为int或null类型,如下所示:
myInt:int|None = 1
我的问题是:是否有一种类似的简洁方式来告诉python的类型检查器,我确信myInt
目前不为空?
经过一番讨论和进一步研究,似乎最好的选择是使用类型强制转换功能。
from typing import cast
myIntNotNull:str = cast(int,myInt)