avoid the redefinition of a function

Ken Seehart ken at seehart.com
Wed Sep 12 09:32:50 EDT 2012


Use lambda expressions to define some constraints:


gt = lambda x: lambda y: x>y
eq = lambda x: lambda y: x==y

constraints = [gt(2), eq(1)]
data = [3,1]

for i,c in enumerate(constraints):
    print c(data[i])
   
   

On 9/12/2012 5:56 AM, Jabba Laci wrote:
> Hi,
>
> I have an installer script that contains lots of little functions. It
> has an interactive menu and the corresponding function is called. Over
> time it grew long and when I want to add a new function, I should give
> a unique name to that function. However, Python allows the
> redefinition of functions:
>
> #!/usr/bin/env python
>
> def step_1():
>     print 1
>
> def step_1():
>     print 2
>
> step_1()
>
> This will call the 2nd function. Now my functions are called step_ID
> (like step_27(), step_28(), etc.). How to avoid the danger of
> redefinition? Now, when I write a new function, I search for its name
> to see if it's unique but there must be a better way.
>
> Thanks,
>
> Laszlo
> P.S.: the script is here ( https://github.com/jabbalaci/jabbatron ) if
> you are interested. It's made for Ubuntu.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3736 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20120912/0095bda3/attachment.bin>


More information about the Python-list mailing list