x = {'q2':2}
if x.get('q1',None) < 5:
# todo
字典取值 默认值 None,代码竟然没报错,还到 todo 里面执行了!
1
dreampuf 2021-06-17 23:20:31 +08:00
先用 `variable is None` 判断。`dict.get` default 填 None 是坑。Python2 不同类型比较按照类型名称字符大小比较,'i'nt 总是小于 'S'tr 。其中 `None` 是最小的类型,比任何类型都小。
https://stackoverflow.com/questions/8961005/comparing-none-with-built-in-types-using-arithmetic-operators |
2
LeeReamond 2021-06-17 23:23:19 +08:00
@dreampuf 感觉不是一个良好的设计,说不出什么逻辑联系,只能当做特例来记,也不起到多少方便的作用
|
3
aijam 2021-06-17 23:26:56 +08:00
|