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

Life is short, you need Python - Bruce Eckel
Package Index, Python 3.5.3 documentation
头像
灵台方寸山
出类拔萃
出类拔萃
帖子: 79
注册时间: 2016年08月06日 16:40
拥有现金: 锁定
储蓄: 锁定
来自: [color=red]斜月三星洞[/color]
Has thanked: 24 times
Been thanked: 17 times

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

帖子 #1 灵台方寸山 » 2016年10月09日 14:07

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

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

python中有两种方法判断一个数是不是偶数或者奇数:

代码: 全选

In [29]: 3&1
Out[29]: 1

In [30]: 3%2
Out[30]: 1

In [31]: 4&1
Out[31]: 0

In [32]: 4%2
Out[32]: 0

性能肯定是&1更高嘛,实际当中感觉差不多,简单写两个函数测试一下

二进制与操作&1判断偶奇数:

代码: 全选

def testand(x):
    for r in range(1,x):
        if r&1:
            pass

%2求余判断偶奇数:


代码: 全选

def testmod(x):
    for r in range(1,x):
        if r%2:
            pass

用ipython自带的timeit功能测试:

代码: 全选

In [19]: %timeit testmod(100000)
100 loops, best of 3: 12.9 ms per loop

In [20]: %timeit testand(100000)
100 loops, best of 3: 10.8 ms per loop

In [21]: %timeit testand(1000000)
10 loops, best of 3: 109 ms per loop

In [22]: %timeit testmod(1000000)
10 loops, best of 3: 129 ms per loop

对我来说,感觉差距不大。

2016年10月9日 13:46:36 codegay
:crazylaugh3 :oh_no
少发点科普,对中医产业,骗子产业不好。

happy886rr
渐入佳境
渐入佳境
帖子: 45
注册时间: 2016年09月27日 16:11
拥有现金: 锁定
储蓄: 锁定
Has thanked: 14 times
Been thanked: 14 times
联系:

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

帖子 #2 happy886rr » 2016年10月09日 16:43

兄的很多知识让我受益匪浅。

头像
灵台方寸山
出类拔萃
出类拔萃
帖子: 79
注册时间: 2016年08月06日 16:40
拥有现金: 锁定
储蓄: 锁定
来自: [color=red]斜月三星洞[/color]
Has thanked: 24 times
Been thanked: 17 times

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

帖子 #3 灵台方寸山 » 2016年10月09日 16:58

happy886rr 写了:兄的很多知识让我受益匪浅。


:holyhigh
你进步太猛。
:crazylaugh3 :oh_no
少发点科普,对中医产业,骗子产业不好。

头像
PerlMonk
渐入佳境
渐入佳境
帖子: 51
注册时间: 2016年09月19日 10:20
拥有现金: 锁定
Has thanked: 4 times
Been thanked: 3 times
联系:

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

帖子 #4 PerlMonk » 2016年10月09日 17:51

楼主我发现一个非常好的Python库名单
Awesome Python - Python 资源大全中文版


回到 “Python”

在线用户

用户浏览此论坛: 没有注册用户 和 0 访客