gpt4 book ai didi

python - 在 Python 中区分 bool 值和数字的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-30 00:49:46 25 4
gpt4 key购买 nike

我有一个应用程序,我需要能够尽快区分数字和 bool 值。除了首先运行 isinstance(value, bool) 之外还有哪些替代方案?

编辑:感谢您的建议。实际上,我想要做的是检查不包含 bool 值的数字,以便我可以重新排序我的支票(数字更为普遍)并改进我的否定调用。 isinstance() 本身就足够快了。 x is True or x is False 很有趣。

最佳答案

因此,Padraic Cunningham 建议,以下内容可能会更快一些。我自己对 cProfile 进行的快速实验 - 没有显示出任何差异:

isbool = value is True or value is False

我假设这是您能得到的最快速度:两个非类型强制比较。

编辑:我重播了@user 5061 的计时测试并添加了我的声明。这是我的结果:

>>> import timeit
>>> stmt1 = "isinstance(123, bool)"
>>> stmt2 = "123 is True or 123 is False"
>>> t1 = timeit.timeit(stmt1)
>>> t2 = timeit.timeit(stmt2)
>>> print t1
0.172112941742
>>> print t2
0.0690350532532

编辑 2:请注意,我在这里使用的是 Python 2.7。 @user 5061 可能使用 Python 3(从 print() 函数得知),因此此处提供的任何解决方案都应在投入生产之前由 OP 进行测试,用于 YMMV。

关于python - 在 Python 中区分 bool 值和数字的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28693320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com