Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Так почему бы не импортировать их в самой функции?здесь, напротив, рекомендуют так не делать — если функция станет выполняться многократно, то импорты будут создавать лишний оверхед, т.к. python всё равно вынужден их интерпретировать и выполнять. поместить имена в локальный контекст можно другим способом.
(width / 1.29), (width / 2.6) pc = 0.5 — 0.5 * x / p, приводит к увеличению времени работы на 0.17сек, т.е. на 5%. Вечером попробую разобраться, интересный момент.y ** 2 на y * y дает прирост в ~4%, т.к. даже средний цикл выполняется ширина * высота раз, т.е. в данном случае 600 * 600 = 360000 раз.Например, не создавать каждый раз в цикле xrange(width), а сделать в начале функции «width_range = range(width)», а внутри уже «for X in width_range:».
import cProfile
i = 5000
def xrange_xrange():
for x in xrange(i):
for y in xrange(i):
(x, y)
def xrange_prerange():
y_range = range(i)
for x in xrange(i):
for y in y_range:
(x, y)
for _ in range(10):
cProfile.run('xrange_xrange()')
cProfile.run('xrange_prerange()')
print '=' * 10
Fatal RPython error: NotImplementedErrorimport dis
dis.dis(func)
pix[X, Y] = (255, 255, 255)
(я думал, что правильно писать так: pix[X][Y] или pix[Y][X])pix = [[1, 2], [3, 4]], то pix[0, 1] у меня выдаёт ошибку ‘‘list indices must be integers or slices, not tuple’’.Просто если pix = [[1, 2], [3, 4]]
Так pix это не список, это то что возвращает img.load().
pix = {(1,1): 0,(1,2):0,(1,3):0}
Ускорение кода на Python средствами самого языка