Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для Mike_Kharkov
7 / 0 / 1
Регистрация: 16.10.2015
Сообщений: 64

Непонятен процесс ф-ции Хронометража.(Лутц стр.588)

01.04.2016, 10:30. Показов 2062. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Столкнулся с примером в книге Лутца, который мне не до конца ясен.
Суть проблемы следующая:
Каким образом(мне непонятен механизм) в переменную result(см. на скрине)
попадают все итерации(0,1,2) со всех 5-ти ф-ций в файле: new_testing_3_5.py ?
Миниатюры
Непонятен процесс ф-ции Хронометража.(Лутц стр.588)  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2016, 10:30
Ответы с готовыми решениями:

Объясните механизм рекурсии (Лутц стр. 539)
Всем привет. В программировании новичек(сам верстальщик сайтов) и сейчас читаю лутца. Пытаюсь разобраться в примере связанном с...

Непонятен процесс окончательного удаления страницы из вконтакте
Добрый день всем! Сидел в данной социальной сети (vk.com) с 2008 года, в чем сейчас раскаиваюсь. К телефону страницу не...

Мне непонятен полный процесс создания программ на с++
Здравствуйте! Я начал изучать с++, возник небольшой вопрос. Я пользуюсь программой Code blocks и результат компиляции выводится в...

9
 Аватар для Mike_Kharkov
7 / 0 / 1
Регистрация: 16.10.2015
Сообщений: 64
01.04.2016, 10:37  [ТС]
Иными словами вопрос в том, каким образом работает присваивание в данном примере?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
01.04.2016, 10:43
абсолютно также как вот, например, тут

Python
1
2
3
4
5
6
7
8
9
>>> def func():
...     return(1, 2)
...
>>> a, b = func()
>>> a
1
>>> b
2
>>>
Добавлено через 1 минуту
в вашем же примере, по очереди перебираются функции, передаются в импортированный таймер, там выполняются, с засечением времени, результат возвращается по образу функции выше.
1
 Аватар для Mike_Kharkov
7 / 0 / 1
Регистрация: 16.10.2015
Сообщений: 64
01.04.2016, 11:00  [ТС]
Цитата Сообщение от Jabbson Посмотреть сообщение
абсолютно также как вот, например, тут
Я тоже так предполагал - но тогда получается что вышеупомянутые значения итераций попадают в параметры func(которая в переменной ret) ?
(cм. скрин)

Если это так то каким образом значения туда попадают(запаковываются)?
У нас же ф-ции(5 шт.) все без параметров передаются(в модуль testing_3_5.py) как я понимаю..
Миниатюры
Непонятен процесс ф-ции Хронометража.(Лутц стр.588)  
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
01.04.2016, 11:27
Если args и kwargs пустые - функция выполнится без параметров
0
 Аватар для Mike_Kharkov
7 / 0 / 1
Регистрация: 16.10.2015
Сообщений: 64
01.04.2016, 11:31  [ТС]
Цитата Сообщение от Jabbson Посмотреть сообщение
Если args и kwargs пустые - функция выполнится без параметров
А каким тогда образом ф-ция timer возвращает(в параметре ret как я предполагаю) значения(0,1,2) ?
Получается что должно быть именно так, если следовать логике вашего первого примера..
(если я не ошибаюсь..)
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
01.04.2016, 12:00
Ну вот одна из функций:
вызываем timer, передаем ей функцию listComp, по факту args и kwargs будут пустые (если везде убрать их упоминание - ничего не изменится)
i можно заменить на _

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import time
 
reps = 1000
repslist = range(reps)
 
 
def timer(func, *args, **kwargs):
    start = time.time()
    for i in repslist:
        ret = func(*args, **kwargs)
    stop = time.time() - start
    return stop, ret
 
 
def listComp():
    return [abs(x) for x in repslist]
 
one, lst = timer(listComp)
print(one)
print(lst)
1
0 / 0 / 0
Регистрация: 22.03.2016
Сообщений: 2
12.04.2016, 21:48
Помогите разобраться с примером(М.Лутц Альтернативные реализации модуля хронометража)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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!?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
12.04.2016, 21:56
Лучший ответ Сообщение было отмечено Marinero как решение

Решение

Цитата Сообщение от Kylik Посмотреть сообщение
Для чего нужна функция trace
В этом коде она ничего не делает, это просто заглушка, в которой можно реализовать какую-то логику в дальнейшем, но сейчас она ничего не делает.
Цитата Сообщение от Kylik Посмотреть сообщение
присваиваются переменным _reps
Если в словаре есть ключ _reps, то переменной присваивается значение из словаря, а если нет то ей присваивается 1000.
1
0 / 0 / 0
Регистрация: 22.03.2016
Сообщений: 2
12.04.2016, 23:06
Спасибо,разобрался!
И как я понимаю присваивание переменной best значения 2 ** 32 необязательно?Можно присвоить и любое другое максимально-возможное для выполнения функции timer!?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.04.2016, 23:06
Помогаю со студенческими работами здесь

Как 1000 HTML стр. быстро превратить в PHP стр.
Друзья, все страницы моего сайта имеют расширение HTML, php скрипты не работают. В .htaccess писал так: AddType application/x-httpd-php...

VBA вывод инфломации с стр 2 на стр 1
Добрый вечер, Подскажите, пожалуйста, на стр 2 есть большая таблица. На стр 1 я нарисовала красивую форму и сделала выпадающий список...

Передача ф-ции как параметра другой ф-ции
struct pupil{ char surname; int school; int answer; int num; } tmp, a; int usl(int i, pupil a) { }

Узнать в ф-ции имя вызвавшей ф-ции
Это возможно? Т.е. есть некая ф-ция debug(msg), передавать имя вызвавшей ее процедуры в параметрах не вариант, можно ли как-то внутри это...

СМА Candy COS 588 F, Заклинило на Хлопок 60, не входит в тест
Здравствуйте. Candy COS 588 F (номера пока нет). Модуль INVENSYS (41033490). Процессор Atmega 644 PV. Напрочь не включает реле ТЭНа, Но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru