Найти - Пользователи
Полная версия: Не могу понять ошибку
Начало » Python для новичков » Не могу понять ошибку
1 2
Kylik
Помогите разобраться с примером(М.Лутц)

import time,sys
if sys.platform[:3] == 'win':
    timefunc =time.clock
else:
    timefunc =time.time
def trace(*args): pass
def timer(func,*pargs,**kargs):
    _reps = kargs.pop('_reps', 1000)
    trace(func,pargs,kargs,_reps)
    repslist = range(_reps)
    
    start = timefunc()
    for i in repslist:
        ret = func(*pargs, **kargs)
    elapsed = timefunc() - start
    return(elapsed, ret)
def best(func, *pargs, **kargs):
    _reps = kargs.pop('_reps', 50)
    best = 2 ** 32
    for i in range(_reps):
        (time,ret) = timer(func, *pargs, _reps=1, **kargs)
        if time < best: best = time
    return (best, ret)

для чего нужна функция trace и что происходит с переменной _reps = kargs.pop('_reps', 1000)
r00tl3ss
def trace(*args): pass
В данном примере выступает в роли заглушки, т.е. ничего не делает. Скорее всего в следующих примерах будет добавлен функционал вывода информации о передаваемой функции(имя, параметры и т.п.)
_reps = kargs.pop('_reps', 1000)
В данном примере получение значения по ключу ‘_reps’ из словаря kargs, ключ при этом из словаря удаляется, если ключ не найдет, то возвращается 1000.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB