python类型检查,Python中的“”不检查类型?

>>> False in [0]

True

>>> type(False) == type(0)

False

我偶然发现的原因是:

对于我的单元测试,我创建了每种类型的有效和无效的示例值列表. (与’我的类型’我的意思是,它们不是100%等于python类型)

所以我想迭代所有值的列表,并希望它们通过,如果它们在我的有效值,而另一方面,如果不是,失败.

那现在不行了:

>>> valid_values = [-1, 0, 1, 2, 3]

>>> invalid_values = [True, False, "foo"]

>>> for value in valid_values + invalid_values:

... if value in valid_values:

... print 'valid value:', value

...

valid value: -1

valid value: 0

valid value: 1

valid value: 2

valid value: 3

valid value: True

valid value: False

当然我不同意最后两个“有效”的价值观.

这是否意味着我真的必须遍历我的valid_values并比较类型?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值