有关模块功能和类的基本问题

时间:2018-11-16 08:28:19

标签: python python-3.x

以下两个代码示例执行相同的操作。我在解释它们如何正常工作吗?

如何使用python直接检查我的解释是否正确?

在代码示例A中,导入了timeit模块,然后从timeit模块(timeit)中使用了timeit.timeit函数-这正确吗?

在代码示例B中,ttimer类的实例,而timer类在tiemit模块中。在代码示例B中,t.timeit()使用的timeit()方法是计时器类的一部分。 timeit()使用的t.timeit()方法不是代码示例A(timeit)中的timeit.timeit函数,因为代码示例B中的timeit方法位于timer类,而在代码示例A中,timeit方法是timeit模块中的函数,而不是类的一部分。这是正确的吗?

代码示例A:

import timeit
timeit.timeit('char in text', setup='text = "sample string"; char = "g"')

代码示例B:

import timeit
t = timeit.Timer('char in text', setup='text = "sample string"; char = "g"')
t.timeit()

2 个答案:

答案 0 :(得分:1)

您可以查看源代码:https://github.com/python/cpython/blob/e42b705188271da108de42b55d9344642170aa2b/Lib/timeit.py#L229

模块级别timeit只是一个方便包装。

答案 1 :(得分:0)

这两个代码都将具有相同的效果,您可以通过运行它们来看到此效果,但是您选择执行的代码取决于您的意图。

您可以在此处了解更多信息:hard links

这也是自学编程和初学者的绝佳网站。