用python 测试了几个时间

最近在学python,做个笔记,如果有错误,感谢大家帮指正。

先弄了个计算程序执行时间的代码:

import time
def calc_time(func):
    def swrapper(*args, **kwargs):
        ti1 = time.time()
        x = func(*args, **kwargs)
        ti2 = time.time()
        print(func.__name__,"time cost",":",ti2-ti1)
        return x
    return swrapper

1.测for 跑range迭代器 和 while 跑变量自减

代码如下:

@calc_time
def whiletime(n):
    while n >= 0:
        n = n - 1

@calc_time
def fortime(n):
    for i in range(n+1):
        pass
num = 1000000
whiletime(num)
fortime(num)

显示结果:

     whiletime time cost : 0.07555246353149414

     fortime time cost : 0.02752089500427246

for跑出来的时间大概是while的一半,跑了好多次,差不多大概都是这个情况

2.在C/C++里调换两个值,通常定义中间变量,但python中可以通过a,b=b,a直接操作,时间分析如下:

@calc_time
def tmpchange(n):
    a = [1, 2]
    for i in range(n):
        tmp = a[1]
        a[1] = a[0]
        a[0] = tmp
@calc_time
def exchange(n):
    a = [1, 2]
    for i in range(n):
       a[0], a[1] = a[1], a[0]

显示结果:

    exchange time cost : 0.13666939735412598

    tmpchange time cost : 0.14264225959777832

大部分时间都是exchange 大于 tmpchange,有时候也会出现小于的情况,具体原因还不清楚。

###最后自己建了个交流群,请感兴趣的加入学习交流>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值