Hi, I have read a couple of tutorial on yield. The following code snippet still gives me a shock. I am told yield is a little like return. I only see one yield in the tutorial examples. Here it has two yields. And there are three variables following keyword yield. I have not tried debug function to get the running states yet. Could you give me some explanation on this yield usage? Or are there some high relevant tutorial on this?
Thanks, def pfr(sequence, pos, stepsize, n): seq = iter(sequence) x = ones((n, 2), int) * pos # position f0 = seq.next()[tuple(pos)] * ones(n) # model yield pos, x, ones(n)/n # weights for im in seq: x += uniform(-stepsize, stepsize, x.shape) # x = x.clip(zeros(2), array(im.shape)-1).astype(int) # f = im[tuple(x.T)] # s w = 1./(1. + (f0-f)**2) # distance w /= sum(w) # w yield sum(x.T*w, axis=1), x, w # weights if 1./sum(w**2) < n/2.: # degenerate: x = x[res(w),:] # to weights -- https://mail.python.org/mailman/listinfo/python-list