Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python time.clock(),在函数定义中使用时产生奇数结果_Python_Python 3.x_Windows Xp - Fatal编程技术网

Python time.clock(),在函数定义中使用时产生奇数结果

Python time.clock(),在函数定义中使用时产生奇数结果,python,python-3.x,windows-xp,Python,Python 3.x,Windows Xp,使用以下代码(Python 3.3.x,WinXp): 主代码文件中使用的调用方代码: time0 = time.clock() ## <other unrelated code.> timer_compare(time0, time.clock()) time0=time.clock() ## 计时器\u比较(time0,time.clock()) 我得到以下输出: time1 0.0445(snip) time2 0.0445(snip) time3 0.0000043(s

使用以下代码(Python 3.3.x,WinXp):

主代码文件中使用的调用方代码:

time0 = time.clock()
## <other unrelated code.>
timer_compare(time0, time.clock())
time0=time.clock()
## 
计时器\u比较(time0,time.clock())
我得到以下输出:

time1 0.0445(snip)
time2 0.0445(snip)
time3 0.0000043(snip) <- 4.385582001116343e-06
time1 0.0445(snip)
时间2 0.0445(snip)

time3 0.0000043(snip)函数默认值是在定义时创建的,而不是在调用时创建的。
timer\u compare
函数是一个对象,当它被创建并存储为该对象上的属性时,会计算默认值

由于函数是在导入模块时创建的(或Python首次加载顶级脚本时),因此
time.clock()
值将非常低

改用哨兵:

def timer_compare(time1, time2='', note='@', time3=None):
    if time3 is None:
        time3 = time.clock()

啊哈。我想我明白了要点。是时候浏览文档了。谢谢(贝丹克特,纳姆·热诺.)
def timer_compare(time1, time2='', note='@', time3=None):
    if time3 is None:
        time3 = time.clock()