python bool布尔值你不知道的事!

看个栗子先

mixed_list = [False, 1, 3, True, 5]
integer_sum = 0
bool_sum = 0

for item in mixed_list:
    if isinstance(item, int):
        integer_sum += 1
    elif isinstance(item, bool):
        bool_sum += 1

print(integer_sum) # 5
print(bool_sum)    # 0

为什么 bool_sum = 0, 而不是bool_sum = 2?

  1. 看源码可知,boolint 的子类
  2. 所以 True 的整数值是 1, 而 False 的整数值是 0
class bool(int):
    """
    bool(x) -> bool
    
    Returns True when the argument x is true, False otherwise.
    The builtins True and False are the only two instances of the class bool.
    The class bool is a subclass of the class int, and cannot be subclassed.
    """
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值