布尔值True还能做算术?聊聊Python中反直觉的设计|零壹教育分享

布尔值True还能做算术?聊聊Python中反直觉的设计|零壹教育分享 在你与之接触过后, 你会察觉到, 有相当数量的语言设计情况, 而它们和那普通一类人的先天便拥有关的认知并非甚为相符一致, 是归属于那种违背直觉的微小细节范畴之中的。当中布尔值能够直接去参与到算术运算这件事, 就是极为典型的其中一项。于我们平常的认知范畴里, 布尔值存有两种状态, 其一为成立, 其二为不成立, 它专门用以进行条件判断, 且与数字是全然分开的两类不同数据。然而在底层的逻辑里面, 代表成立的布尔值True实则本质上等同于数字1, 代表不成立的False等同于数字0, 其能够直接被拿来开展加减乘除计算。这个特性并非单纯意在用花样, 在实际着手处理表格数据之际, 是完全能够发挥其作用的。比如说, 当我们期望统计一份Excel表格里, 满足特定筛选条件的记录究竟有多少条时, 按传统方式, 就得编写循环逐个去判断并计数, 而借助该特性, 就能更为迅速地统计出数量, 进而对脚本逻辑予以简化。还有, 切片反转文本亦是众多初学者认为违背常理的一种写法, 它无需编写循环去遍历字符串, 而是凭借简单的切片标记就能直接将一整段文字的顺序颠倒过来,在文本清洗场景中偶尔会被用到。另外, 数字中间能够增添阅读分隔标记, 其仅仅专门用来考量人的阅读体验, 不会让实际数值发生改变, 这同样是许多初学者事先没有想到的一项较为出众奇妙新颖独特罕见超纲意想不到意料未及特别出人意表万万没想到猝不及防始料不及匪夷所思突兀惊愕瞠目结舌根瞠目结舌目瞪口呆出乎意料大出所料超乎想象的设计。这些不符合直觉的设计, 并非是语言方面的错误情况, 而是其自身原本就确定的语法准则。这同样提示我们, 不要运用拿其他软件、其他编程语言的那种固定思维去强行照搬, 许多逻辑会存在差异。可是呢, 也要去提醒那些上班族, 千万别特意去追求运用这种违背直觉的写法来卖弄技巧。要是用平常通俗易懂的方式能够达成需求, 咱们优先去选择通俗易懂的写法。要是过度堆砌违背直觉的语法, 就会使得脚本阅读的门槛变高, 接下来维护、修改脚本的时候就会变得格外麻烦。搞清楚这些特性, 主要是为了让眼界得以拓宽, 能看懂他人所撰写的脚本, 在碰见适配的业务情形时能够合理运用。切莫为了运用小众特性而强行去改造自身的代码, 实用性始终是排在首位的。