Python实践7-布尔值False

布尔值

  • 所有标准对象均可用于布尔测试,每个对象天生具有布尔True或False
  • 空对象, 值为零的任何数字或者None的布尔值都是False
  • 用户创建的类实例如果定义了nonzero(__nonzero__())或length(__len__())且值为0,那么他们的布尔值就是False。如果nonzero和length同时存在,以nonzero的结果为准。

标准对象里的False

def print_boolean_value(value):
    if value:
        print('True')
    else:
        print('False')


if __name__ == '__main__':
    # 下面所有的结果都是False
    print_boolean_value(None)
    print_boolean_value(False)
    # 所有值为0的数
    print_boolean_value(0)
    print_boolean_value(0.0)
    print_boolean_value(0L)
    print_boolean_value(0.0 + 0.0j)
    print_boolean_value("")
    print_boolean_value([])
    print_boolean_value(())
    print_boolean_value({})

自定义类实例的False

class A(object):
    def __nonzero__(self):
        return False


class B(object):
    def __len__(self):
        return 0


class C(object):
    def __nonzero__(self):
        return False

    def __len__(self):
        return 1


class D(object):
    pass


if __name__ == '__main__':
    # 下面的结果是False
    print_boolean_value(A())
    print_boolean_value(B())
    print_boolean_value(C())
    # 下面的结果是True
    print_boolean_value(D())

代码下载

本系列文章和代码已经作为项目归档到github,仓库地址:jumper2014/PyCodeComplete。大家觉得有帮助就请在github上star一下,你的支持是我更新的动力。什么?你没有github账号?学习Python怎么可以没有github账号呢,快去注册一个啦!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值