avoid the redefinition of a function

Ramchandra Apte maniandram01 at gmail.com
Wed Sep 12 09:15:21 EDT 2012


On Wednesday, 12 September 2012 18:26:36 UTC+5:30, 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.

Use a code checker such as PyLint (http://www.logilab.org/857 or pylint package).
Better idea:
I *strongly* recommend to never use names such as step_12. Use descriptive names and the problem will not occur.
Your project looks interesting. I can contribute. :-)
---
Bragging rights:SO account suspended
py2c, a Python to *pure* C/C++ translator, is my project (I am the author)
http://code.google.com/p/py2c/



More information about the Python-list mailing list