avoid the redefinition of a function

Alister alister.ware at ntlworld.com
Wed Sep 12 10:04:13 EDT 2012


On Wed, 12 Sep 2012 06:15:21 -0700, Ramchandra Apte wrote:

> 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/

+1 Regards the Naming of your functions it makes it harder for new users 
to read & understand the code (and yourself in 6 months!)



-- 
Overload -- core meltdown sequence initiated.



More information about the Python-list mailing list