栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将布尔值用作整数是Pythonic吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将布尔值用作整数是Pythonic吗?

我会很奇怪(因为所有答案都拒绝使用

False == 0
and
True == 1
保证语言的使用),因为我声称使用该事实来简化代码是完全可以的。

从历史上看,逻辑上的正确/错误运算往往简单地

0
用于false和
1
true。在Python
2.2的整个生命周期中,Guido注意到太多的模块以诸如这样的赋值开头,
false = 0; true =1
这会产生样板和无用的变化(后者是因为对正误的大写处处存在-有些使用了全部-
caps,一些全小写,一些帽初始)等介绍了
bool
的子类
int
和其
True
False
常数。

由于当时我们中的许多人担心Python新手会使用新类型和常量来 限制
该语言的功能,因此出现了很多回退,但是Guido坚持认为我们只是悲观:没有人会如此糟糕地理解Python,例如,为了避免完全自然地使用

False
True
作为列表索引,或者避免总和,或者避免其他如此清晰而有用的习惯用法。

该线程的答案证明我们是正确的:正如我们所担心的那样,人们对这种类型和常量的作用 已经 产生了完全的误解,人们 正在
回避,更糟糕的是,敦促其他人避免使用完全自然的Python构造,而赞成没用的回转。

为了应对这种误解,我敦促每个人都将 Python用作Python而不是 试图将其引入功能和偏好样式完全不同的其他语言中。
在Python中 ,True和False像1和0一样为99.9%, 唯一
不同的是它们的形式

str(...)
(因此
repr(...)
)不同-对于除字符串化之外的 所有
其他操作,可以随意使用它们而不会扭曲。用于索引,算术,位运算等,等等,等等。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611134.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号