python中true用法_使用True/False作为键-如何/为什么这样做?

True和False不是关键字——它们是实际的对象。您可以在Python解释器中验证这一点(此处使用2.7,但在3.x中同样适用):Python 2.7.6 (default, Jan 29 2014, 21:22:07)

[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> type(True)

>>> True.__class__.__name__

'bool'

>>> type(False)

>>> False.__class__.__name__

'bool'

>>> hash(True)

1

>>> hash(False)

0

>>> True.__hash__

>>> False.__hash__

因此它们可以用作dict或类似结构中的键。

实际上,在Python 3之前,可以使用True和False作为dict()的参数名:>>> d = dict(True="true", False="false")

>>> d

{'False': 'false', 'True': 'true'}

然而,为了避免混淆,Python3解释器禁止您这样做,因为它现在基本上将它们视为关键字——但实际上,它们仍然是对象。(我想你可以说他们两个都是,差不多吧。)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值