讲解对象:【python3系列】timeit模块 作者:融水公子rsgz 文章出处:360doc个人图书馆〔其他平台均为盗版〕 提醒:建议大家电脑浏览我的网页,因为手机浏览网页代码会自动缩成一行,很不方便 对象:timeit 实质:是一个python模块 作用:提供了一种简单的方法来计算一小段Python代码的耗时 优点:避免了许多用于测量执行时间的常见陷阱 使用方式: 1命令行方式 2python接口方式 我们查看下timeit是不是一个内置模块 C:UsersAC:UsersA 分析可以看出的确是一个内置模块 实例1: 。join(str(n)forninrange(100)) 分析: 1这条命令主要python解释器调用timeit模块去计算。join(str(n)forninrange(100))一句运行时间是多少 2。join(str(n)forninrange(100))语句的作用就是遍历099的数字并且字符串化然后将字符串按照进行分割如果单独运行的话你会看到这个结果 C:UsersApythonPython3。8。1(tagsv3。8。1:1b293b6,Dec182019,23:11:46)〔MSCv。191664bit(AMD64)〕onwin32T,,formoreinformation。。join(str(n)forninrange(100))0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 我们windowscmd中运行一下这个命令,你是不是以为会运行成功?哈哈哈那你就大错特错了 C:UsersA。join(str(n)forninrange(100))Traceback(mostrecentcalllast):FD:pythoninstalllibunpy。,line193,returnruncode(code,mainglobals,None,FD:pythoninstalllibunpy。,line86,exec(code,runglobals)FD:pythoninstalllibimeit。,line374,insys。exit(main())FD:pythoninstalllibimeit。,line313,tTimer(stmt,setup,timer)FD:pythoninstalllibimeit。,line121,compile(stmtprefixstmt,dummysrcname,)F,line2。join(str(n)SyntaxError:EOLwhilescanningstringliteral 分析:那么这个错误从哪里来的呢?我自认为我的语法没有任何错误逻辑也是对的,并且交互式的也打印出来了我也不认为是符号问题,后来还真是符号问题。我的符号特征是这样的 看到了吧这是单引号在外面双引号在里面 现在我们调整下引号包含位置就会发现代码可以运行了 C:UsersA。join(str(n)forninrange(100))10000loops,bestof5:24。5usecperloop 现在我们centos7中运行一下这个命令:(真烦为了试验又要购买一台linux服务器,我临时购买的是centos7centos8肯定有些语法改变了很多我不是很适应我就用centos7来演示吧) 我们将双引号放在里面试验一下哇可以哎 〔rootguest〕。join(str(n)forninrange(100))10000loops,bestof3:17。5usecperloop 我们将单引号放在里面试一下哇也可以 〔rootguest〕。join(str(n)forninrange(100))100000loops,bestof3:16。9usecperloop 总结: 1在windowscmd中下面这种形式在某些时候会报错 2centos7里面下面两种形式都是可以的 谢谢大家的支持!可以点击我的头像,进入我的空间浏览更多文章呢