Ale*_*ine 2 python boolean nonetype
从我所看到的,唯一的时间None和False不同的表现是它们被相互比较(为了平等)。我是否缺少某些东西,或者只要您一致使用,可以只使用其中一种吗?有什么理由要使用另一个?
在这里我要强调语义上的差异,而不是行为上的差异。
让我们考虑几个函数:
def find_user(criteria):
if is_met(criteria):
return User(...)
return None
# ...vs
def has_email(user):
return bool(user.email)
Run Code Online (Sandbox Code Playgroud)
对我而言,其背后的语义None意味着缺乏价值,而其背后的语义则False意味着布尔虚假。
这里的类比可能是boolC ++ 中类型的演变。当C(ab)将int用于布尔逻辑时,C ++引入了一种专用bool类型,该类型使某些变量/函数签名的意图更加清晰。它还允许进行一些优化,例如std::vector<bool>内部表示为位的向量,而不是字节的向量。
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |