|
|
1
1
因此,首先,由于评论似乎对此有点困惑,我想我应该首先陈述我的假设。我假设你是想检查某个东西是0还是空的,或者是布尔型的。 静态地 --也就是说,可以使用PEP484类型对代码进行注释,并运行类似mypy的类型检查程序来确定变量是否为零。
如果是
不
你要做的是,你要检查什么是零,空的,或是可调的。
运行时
(当实际运行代码时),您可以只使用isInstance检查——例如
如果你 是 尝试静态地检查某个值是否为零或空,不幸的是,对于PEP484类型,没有办法做到这一点。基本上,PEP484不允许您将“逻辑检查”与类型相关联——例如,您不能创建一个约束来强制某些函数只接受正整数。 这在更复杂的类型系统中是可能的(参见从属类型系统、精化类型系统等),但实现此类类型系统非常复杂,因此极不可能在不久的将来修改PEP 484以支持类似的功能。
也就是说,那里
是
一些计划至少为mypy添加对简单依赖类型的支持
字面量
. 例如,虽然我们可能无法轻易判断某个任意变量是否为零,但我们
可以
告诉你字面意思
有一些 related discussion here --也就是说,我不会屏息以待这项工作的实施。这是一个相对复杂的特性。 目前,唯一真正的替代方法是使用运行时检查,或者只是重新构造代码,这样就不需要检查某个值是零还是空。
但是,如果要通过检查是否存在
您需要安装
|
|
|
tender · 基于布尔限定符的Python熊猫if语句 8 年前 |
|
|
user3663055 · 尽管有适当的布尔值,但代码不会打印 8 年前 |
|
|
merko · 检查布尔值-Javascript 8 年前 |
|
|
user6631314 · IOS/核心数据/目标-C:使用布尔值预测 8 年前 |
|
|
user1032531 · 符号极性的自然键 8 年前 |
|
|
Bartholomas · Python语句中的布尔逻辑 8 年前 |
|
|
Dustin Michels · 理解字符串的真实性 8 年前 |
|
|
user44840 · 熊猫数据帧阈值--如果超过,则保持数字固定 8 年前 |