Найти - Пользователи
Полная версия: Тест функции в питон
Начало » Python для новичков » Тест функции в питон
1
Exmap
Пусть есть какой-то модуль solution с функцией f. Требуется написать функцию test , которая:
1. выполнит функцию f и возвратит её значение
2. если время, потраченное на выполнение превысило k - параметр функции, то прервёт выполнение f и возвратит что-то типа ‘too many time’
Пробовал использовать timeit:
from solution import f
def test(k):
t = Timer(""" f() """)
t.timeit(k)
Не пашет… что вообще обозначает параметр функции Timer.timeit?
Exmap
И ещё вопрос: что обозначает слово global
Ferroman
Это всё значит, что тебе нужно попробовать использовать гугл и попытаться почитать про питон хотя бы что-нибудь, прежде чем задавать вопросы.
Exmap
Ferroman, хотя-бы что-нибудь я прочитал. Гугл тоже использовал. Непомогло. Теперь буду ждать, пока добрый человек напишет что-нибудь дельное, а не вечные обвинения в адрес моей неграмотности в питоне.
slav0nic
timeit - служит для замера быстродействия ф-ции, которая передаётся как параметр (k - это ф-ция)
global - глобальна переменная,
типа
a = 5
def foo():
global a
print a
удали глобал и глянь что произойдёт
Exmap
Slav0nic, спасибо большое. Можно поподробнее про функцию timeit? Может ли она прерывать выполнение функции, если она выполняется большое количество времени?
ZAN
По-подробнее http://diveintopython.org/performance_tuning/timeit.html , http://docs.python.org/library/timeit.html
Прерывать не может. Прерывание процесса - это вообще отдеальная задача, которая решается по-разному в зависимости от условий.
slav0nic
Exmap
phpшнег чтоли?) timeit служит для отладки кода, чтоб определить какой вариант кода работает быстрее
Ferroman
global 1,3
async.py подойдёт
Exmap
slav0nic
phpшнег чтоли?) timeit служит для отладки кода, чтоб определить какой вариант кода работает быстрее
Не-а. Я дотнетчик. Хотя и php знаю :) про timeit - понятно…
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