您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    Python 为什么要在 18 年前引入布尔类型?且与 C、C++ 和 Java 都不同?(4)
    时间:2020-08-12 21:20 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    毕竟,== 通常被视为传递符号,这意味着依据 a == b 和 b == c,可以推论出 a == c。但是,假设在一个数是真值的状况下,它与 True 停止比较的结果是相等的,则像 6 == True == 7 这样的暴行将成立,从而可以推断出错误的 6 == 7。那是不可接受的。(此外,它会破坏向后兼容性。但是,即使它不破坏,出于前面的缘由,我依然支持。)

    还应该提示新手,没有理由写:

    if bool(x): ... 

    由于布尔值隐含在“if”中。在这里,显式并  比隐式好,由于添加的词法会损害可重用性,并且限制了解释器的解释行为。 (译注:”The Zen of Python“中以为”显式比隐式好“,但在这里,Guido 以为隐式更好,所以他在原文档中加粗了”not“)

    但是,有时分有理由写成:

    b = bool(x) 

    当不需求保留对恣意 x 对象的援用时,或许由于某些其它缘由需求标准化时,这很有用。有时分这样写也很适宜:

    i = int(bool(x)) 

    它将布尔值转换为整数的 0 或 1。传达了将该值用作 int 的意图。 完成

    残缺的 C 实现代码已上传到 SourceForge 补丁管理器:https://bugs.python.org/issue528022

    它将很快被合入到 python 2.3a0 的 CVS 中。

    (责任编辑:admin)