鱼C论坛

 找回密码
 立即注册
查看: 3189|回复: 5

[已解决]timeit()第一个参数要用‘’括起来 为什么

[复制链接]
发表于 2023-1-12 16:35:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小白刚学到timeit()函数, 看解释里面有说可以可以接受单个变量测试
但是我试了下好像是timeit()第一个参数要用 '' 括起来 为什么呢?
''搞起来后不是变为字符串了吗?
有谁可以解释一下
最佳答案
2023-1-13 08:31:36
本帖最后由 isdkz 于 2023-1-13 08:32 编辑
paulwang 发表于 2023-1-13 08:23
是否可以这样理解,也就是说直接调用返回值意味着计算出的时间就不是变量操作花费的时间了。
而变为字符 ...


如果传入的是字符串的话他会帮你去执行这个字符串里面的语句的,

如果不是字符串的话在传参的时候赋值这些操作都是无效的,

他会当成在传关键字参数,

你传一个字符串他会用 exec() 来执行字符串里面的代码,并计算执行时间

跟你执行的时候并没有什么区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-12 16:42:10 | 显示全部楼层
本帖最后由 isdkz 于 2023-1-12 16:43 编辑

因为不用字符串的话就会直接调用得到返回值了,而用字符串他会根据你字符串里面的语句帮你去调用,

当然你不用字符串也是可以的,只要你不要让他立即调用就可以了,这个可以用到匿名函数表达式,

所以 timeit 你传入一个函数(注意不是函数调用,而是函数本身)或者字符串都是可以的
timeit('print("test")', number=5)
# 等价于
timeit(lambda:print("test"), number=5)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-12 16:58:56 | 显示全部楼层
import timeit
print("The time taken is ",timeit.timeit(stmt='a=100;b=100;sum=a+b'))
还是指:
print(timeit.timeit('outpt = 50*5'))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-13 08:23:20 | 显示全部楼层
isdkz 发表于 2023-1-12 16:42
因为不用字符串的话就会直接调用得到返回值了,而用字符串他会根据你字符串里面的语句帮你去调用,

当然 ...

是否可以这样理解,也就是说直接调用返回值意味着计算出的时间就不是变量操作花费的时间了。
而变为字符串后则相等。

我总是感觉直接的字符串与变量操作花费时间因该是不一样的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-13 08:31:36 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2023-1-13 08:32 编辑
paulwang 发表于 2023-1-13 08:23
是否可以这样理解,也就是说直接调用返回值意味着计算出的时间就不是变量操作花费的时间了。
而变为字符 ...


如果传入的是字符串的话他会帮你去执行这个字符串里面的语句的,

如果不是字符串的话在传参的时候赋值这些操作都是无效的,

他会当成在传关键字参数,

你传一个字符串他会用 exec() 来执行字符串里面的代码,并计算执行时间

跟你执行的时候并没有什么区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-15 22:07:20 | 显示全部楼层
isdkz 发表于 2023-1-13 08:31
如果传入的是字符串的话他会帮你去执行这个字符串里面的语句的,

如果不是字符串的话在传参的时候赋 ...

感谢大神,其实我这边看了下应该说 参数 这个具体解释我还没学到,所以看到“”的时候总觉得是电脑应该把它作为一般字符去理解。其实不是, 所以说具体函数中的参数有其对应的格式吧。估计学到后面可能会理解的透彻。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-24 23:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表