| Store | Cart

Extending Python Syntax with @

From: Myles <myl...@geocities.com>
11 Mar 2004 16:05:40 -0800
Kyler Laird <Kyler at news.Lairds.org> writes:

> Richie Hindle <richie at entrian.com> writes:>  >  [Kyler]> >> How do you cleanly do that?> >> 	foo = range(-10, 10)> >> 	my_op = lambda x: float(x) / max(map(abs, foo))> >> 	bar = map(my_op, foo)>  > >foo = range(-10, 10)> >def my_op(x):> >    return float(x) / max(map(abs, foo))> >bar = map(my_op, foo)> > Well, your solution depends on a global variable.

foo ? my_op ?
Doesn't the same apply to the lambda example ?

> 	def make_translation_function(GCPs, type, invert=False):> 		if type == 'LSF' and len(GCPs) < 12:> 			# Do lots of time-consuming magic to calculate A, B, ...> 			return(> 				lambda x, y: (> 					x * A + y * B +> 					x * y * C +> 					...,> 					x * G + y * H +> 					x * y * I +> 					...> 				)> 			)> 		elif ... # Repeat lots of times for variations.

Isn't this just a more detailed example of the same thing ?
With a similar solution :

def make_translation_function(GCPs, type, invert=False):
    if type == 'LSF' and len(GCPs) < 12:
        # Do lots of time-consuming magic to calculate A, B, ...
        def translation_fn(x, y):
            return (
               x * A + y * B +
               x * y * C +
               ...,
               x * G + y * H +
               x * y * I +
               ...
           )
        return translation_fn
    elif ... # Repeat lots of times for variations.

Quick variation using working code:

def makefn(a, b):
    A = a*3
    B = b * 2
    def my_op(x, y):
        return (x*A + y*B, (x+A)*(y+B))
    return my_op

x = makefn(1, 1)
print x(2, 2)

Regards, Myles.

Recent Messages in this Thread
David MacQuigg Mar 10, 2004 09:01 pm
Wayne Folta Mar 10, 2004 09:24 pm
Jarek Zgoda Mar 10, 2004 09:26 pm
Jeff Epler Mar 10, 2004 09:31 pm
Ivan Voras Mar 10, 2004 09:49 pm
Erik Max Francis Mar 11, 2004 01:08 am
John Roth Mar 10, 2004 09:50 pm
Ben Finney Mar 10, 2004 10:19 pm
John Roth Mar 10, 2004 11:15 pm
Josiah Carlson Mar 12, 2004 05:08 pm
Y2KYZFR1 Mar 12, 2004 05:49 am
Max M Mar 12, 2004 09:59 am
John Roth Mar 12, 2004 12:05 pm
Heather Coppersmith Mar 11, 2004 02:05 am
Edward K. Ream Mar 10, 2004 11:02 pm
David MacQuigg Mar 11, 2004 12:40 am
Cameron Laird Mar 11, 2004 01:28 am
David MacQuigg Mar 11, 2004 02:44 am
Pierre Rouleau Mar 11, 2004 03:13 am
Christopher Koppler Mar 11, 2004 09:00 am
Isaac To Mar 11, 2004 01:54 am
Pierre Rouleau Mar 11, 2004 02:59 am
Christopher Koppler Mar 11, 2004 08:50 am
Nick Vargish Mar 11, 2004 02:28 pm
Peter Hickman Mar 11, 2004 02:50 pm
Cameron Laird Mar 11, 2004 03:24 pm
Peter Hickman Mar 12, 2004 09:50 am
John Roth Mar 12, 2004 12:07 pm
Peter Hickman Mar 12, 2004 12:19 pm
David MacQuigg Mar 11, 2004 08:05 pm
Roger Binns Mar 11, 2004 01:08 am
DH Mar 11, 2004 01:37 am
Roger Binns Mar 11, 2004 04:06 am
Steve Lamb Mar 11, 2004 01:43 am
Gustavo Niemeyer Mar 11, 2004 03:12 am
Paul McGuire Mar 11, 2004 03:17 am
Peter Maas Mar 11, 2004 12:15 pm
David MacQuigg Mar 11, 2004 04:35 pm
Peter Hansen Mar 11, 2004 05:01 pm
David MacQuigg Mar 11, 2004 05:57 pm
Ixokai Mar 14, 2004 05:17 am
Peter Maas Mar 11, 2004 08:42 pm
David MacQuigg Mar 11, 2004 11:44 pm
Raymond Hettinger Mar 11, 2004 10:15 pm
Paul Rubin Mar 11, 2004 11:24 pm
wmwd...@sneakemail.com ) (Greg Ewing (using news.cis.dfn.de) Mar 12, 2004 03:12 am
Bas Mar 12, 2004 08:07 pm
Peter Hansen Mar 12, 2004 10:17 pm
Donn Cave Mar 12, 2004 10:57 pm
Cameron Laird Mar 11, 2004 12:55 pm
Kyler Laird Mar 11, 2004 02:09 pm
Richie Hindle Mar 11, 2004 02:41 pm
David MacQuigg Mar 11, 2004 02:49 pm
Kyler Laird Mar 11, 2004 06:09 pm
David M. Cooke Mar 11, 2004 09:26 pm
Kyler Laird Mar 12, 2004 12:01 am
Myles Mar 12, 2004 12:05 am
John Roth Mar 11, 2004 02:37 pm
David MacQuigg Mar 11, 2004 03:57 pm
John Roth Mar 11, 2004 04:17 pm
David MacQuigg Mar 11, 2004 05:41 pm
John Roth Mar 11, 2004 06:03 pm
David MacQuigg Mar 11, 2004 09:24 am
Cameron Laird Mar 11, 2004 05:13 am
David MacQuigg Mar 11, 2004 08:42 am
Cameron Laird Mar 11, 2004 03:35 pm
Cameron Laird Mar 12, 2004 01:19 am
wmwd...@sneakemail.com ) (Greg Ewing (using news.cis.dfn.de) Mar 12, 2004 03:11 am
Messages in this thread