Board logo

标题: [原创教程] python 中x%2 x&1 判断偶数奇数 性能对比 [打印本页]

作者: codegay    时间: 2016-10-9 14:00     标题: python 中x%2 x&1 判断偶数奇数 性能对比

python 中x%2 x&1 判断偶数奇数 性能对比

本文使用非常好用的python交互解释器ipython操作演示,
使用命令pip install ipython安装,输入ipython即可。比python自带的好用。

python中有两种方法判断一个数是不是偶数或者奇数:
  1. In [29]: 3&1
  2. Out[29]: 1
  3. In [30]: 3%2
  4. Out[30]: 1
  5. In [31]: 4&1
  6. Out[31]: 0
  7. In [32]: 4%2
  8. Out[32]: 0
复制代码
性能肯定是&1更高嘛,实际当中感觉差不多,简单写两个函数测试一下

二进制与操作&1判断偶奇数:
  1. def testand(x):
  2.     for r in range(1,x):
  3.         if r&1:
  4.             pass
复制代码
%2求余判断偶奇数:
  1. def testmod(x):
  2.     for r in range(1,x):
  3.         if r%2:
  4.             pass
复制代码
用ipython自带的timeit功能测试:
  1. In [19]: %timeit testmod(100000)
  2. 100 loops, best of 3: 12.9 ms per loop
  3. In [20]: %timeit testand(100000)
  4. 100 loops, best of 3: 10.8 ms per loop
  5. In [21]: %timeit testand(1000000)
  6. 10 loops, best of 3: 109 ms per loop
  7. In [22]: %timeit testmod(1000000)
  8. 10 loops, best of 3: 129 ms per loop
复制代码
对我来说,感觉差距不大。

2016年10月9日 13:46:36 codegay
作者: happy886rr    时间: 2016-10-9 15:04

ipython,又有好玩的了。
作者: codegay    时间: 2016-10-9 16:37

回复 2# happy886rr


    ptpython也不错。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2