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
对我来说,感觉差距不大。
In [162]: %timeit testand(999999)
10 loops, best of 3: 109 ms per loop
In [163]: %timeit testand(9999999)
1 loop, best of 3: 1.08 s per loop
In [164]: %timeit testand(99999999)
1 loop, best of 3: 10.9 s per loop
In [165]: %timeit testmod(9999999)
1 loop, best of 3: 1.3 s per loop
In [166]: %timeit testmod(99999999)
1 loop, best of 3: 13 s per loop
&1确实性能更好,加大了数据,不过差距也没有很明显放大。
2016年10月9日 13:46:36 codegay
python 中x%2 x&1 判断偶数奇数 性能对比的更多相关文章
- python中如何不区分大小写的判断一个元素是否在一个列表中
python中判断某一个元素是否在一个列表中,可以使用关键字in 和 not in. 示例如下: 如果需要输出相应的信息,可以搭配使用if语句,这里不赘述. --------------------- ...
- python中输入某年某月某日,判断这一天是这一年的第几天?
输入某年某月某日,判断这一天是这一年的第几天?程序分析 特殊情况,闰年时需考虑二月多加一天: 直接上代码 #定义一个函数,判断是否为闰年 def leapyear(y): return (y % 40 ...
- Python中变量的属性以及判断方法
1.变量的属性 在Python中,创建一个变量会给这个变量分配三种属性: id ,代表该变量在内存中的地址: type,代表该变量的类型: value,该变量的值: x = 10 print(id(x ...
- Python中Opencv和PIL.Image读取图片的差异对比
近日,在进行深度学习进行推理的时候,发现不管怎么样都得不出正确的结果,再仔细和正确的代码进行对比了后发现原来是Python中不同的库读取的图片数组是有差异的. image = np.array(Ima ...
- python采用 多进程/多线程/协程 写爬虫以及性能对比,牛逼的分分钟就将一个网站爬下来!
首先我们来了解下python中的进程,线程以及协程! 从计算机硬件角度: 计算机的核心是CPU,承担了所有的计算任务.一个CPU,在一个时间切片里只能运行一个程序. 从操作系统的角度: 进程和线程,都 ...
- python 中输入一个字符串,判断这个字符串中有多少个字符、数字、空格、特殊字符
# -*- coding: utf8 -*- # Author:wxq #python 2.7 #首先定义一个字符串 str1 = raw_input('请输入一个字符:') #初始化字符.数字.空格 ...
- 【Django】Python web开发:几个模板系统的性能对比(转)
http://blog.chedushi.com/archives/910 结论: 点评一下吧.django就是个渣,不多废话了.webpy的代码很简洁,可惜速度太慢了.bottle看起来快一点,不过 ...
- python中函数与方法的区别
在python中,其实函数和方法的区别取决于其调用者,在普通的函数定义中就叫做函数 例如: def func(): print('这是一个函数') 而在一个类中定义时,就将其分为两种情况 第一种:被称 ...
- Python中请使用isinstance()判断变量类型
一.isinstance() 在Python中可以使用type()与isinstance()这两个函数判断对象类型,而isinstance()函数的使用上比type更加方便. # coding=utf ...
随机推荐
- linux环境初始化 用户问题
linux 初始化系统配置(centos6) (2013-04-03 13:19:15) 转载▼ 分类: linux 这篇博文是从别处转来的,原文地址http://zhoualine.iteye. ...
- restore database
RESTORE DATABASE CTSDW FROM DISK = '\\detego-ctsetl\Backup\CTSDW\CTSDW_backup_20160722110003_Full.ba ...
- Python之路 day2 字符编码及转换
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import sys print("sys default encodin ...
- curl上传图片文件
为了优化网站,需要做静态化和,图片分离 暂时想到的方式是: 1,php//input 流方式上传到远程服务器 2,阿里云oss收费服务 3,curl上传图片 4,phpftp上传图片 5, 服务器同 ...
- HTTP 源码解读
作用域:调用函数,访问变量的能力有关 作用域分为:局部和全局(在局部作用域里可以访问到全局作用域的变量,但在局部作用域外面就访问不到局部作用里面所设定的变量) 上下文:与this关键字有关 是调用当前 ...
- UDP的connect函数
UDP的connect没有三次握手过程,内核只是检测是否存在立即可知的错误(如一个显然不可达的目的地), 记录对端的的IP地址和端口号,然后立即返回调用进程. 未连接UDP套接字(unconnecte ...
- Centos screen远程会话管理命令
screen参数 -A 将所有的视窗都调整为目前终端机的大小. -d<作业名称> 将指定的screen作业离线. -h<行数> 指定视窗的缓冲区行数. -m 即使目前已在作业中 ...
- 通过图片对比带给你不一样的KMP算法体验
KMP 算法,俗称“看毛片”算法,是字符串匹配中的很强大的一个算法,不过,对于初学者来说,要弄懂它确实不易. 笔者认为,KMP 算法之所以难懂,很大一部分原因是很多实现的方法在一些细节的差异.体现在几 ...
- Mvc 提交表单的4种方法全程详解
一,MVC HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttributes){} BeginRouteForm ...
- Linux系统程序的运行级别
Linux系统有7个运行级别: 运行级别 描述 0 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 1 但用户工作状态,root权限,用于系统维护,禁止远程登录 2 多用户状态(没有NFS ...