Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 2, 2017 23:40:30

Landberk
Зарегистрирован: 2017-08-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как работает этот код?

Здравствуйте! Изучаю Python по Марку Лутцу, в книге есть код, который должна понимать по ходу книги, но не понимаю https://paste.nix.org.ua/a923cc86e8a59a4b.py
Как вызвать эту функцию timer? *args и **kargs там - это ли не знаки что должны быть позиционные и именованные аргументы (правильно ли я понимаю)?

Офлайн

#2 Окт. 3, 2017 10:11:21

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как работает этот код?

вроде правильно.. тольконе должны быть, а могут быть (могут и не быть) и их колличество заранее неизвстно.
пример :

 import time
reps = 3
repslist = range(reps)
def timer(func, *pargs, **kargs):
    start = time.clock()
    for i in repslist:
        ret = func(*pargs, **kargs)
    elapsed = time.clock() - start
    return (elapsed, ret)
def func(arg1, arg2='arg2'):
    print('arg1= {}, arg2 = {}'.format(arg1, arg2))
    return 'args is: {} {}'.format(arg1, arg2)
func('test1_arg1', arg2 = 'test1_arg2')
print(timer(func, 'test2_arg1', arg2 = 'test2_arg2'))
>>>
>>> 
arg1= test1_arg1, arg2 = test1_arg2
arg1= test2_arg1, arg2 = test2_arg2
arg1= test2_arg1, arg2 = test2_arg2
arg1= test2_arg1, arg2 = test2_arg2
(0.0003797309573857481, 'args is: test2_arg1 test2_arg2')
>>> 
>>>



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Окт. 3, 2017 10:13:34)

Офлайн

#3 Окт. 3, 2017 10:13:33

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как работает этот код?

PEHDOM

 def timer(func, *pargs, **kargs):
    .....
Зачем? Есть же стандартный timeit



Отредактировано FishHook (Окт. 3, 2017 10:14:13)

Офлайн

#4 Окт. 3, 2017 10:15:19

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как работает этот код?

FishHook да я в курсе, def timer() это код топикстартера из книжки. Я просто показал как его вызывать.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Окт. 3, 2017 10:15:44)

Офлайн

#5 Окт. 3, 2017 10:27:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как работает этот код?

PEHDOM
ну тады ой



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version