Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #28956

Re: avoid the redefinition of a function

Received by 10.68.212.168 with SMTP id nl8mr2187495pbc.5.1347455721793; Wed, 12 Sep 2012 06:15:21 -0700 (PDT)
Received by 10.68.212.99 with SMTP id nj3mr1964065pbc.20.1347455721774; Wed, 12 Sep 2012 06:15:21 -0700 (PDT)
Path csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!4no4502690pbn.1!news-out.google.com!a8ni4572pbd.1!nntp.google.com!4no4502686pbn.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups comp.lang.python
Date Wed, 12 Sep 2012 06:15:21 -0700 (PDT)
In-Reply-To <mailman.554.1347454594.27098.python-list@python.org>
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=122.178.208.59; posting-account=uPFZNQoAAAAm9w7z13q1SjWNKNjztdcD
NNTP-Posting-Host 122.178.208.59
References <mailman.554.1347454594.27098.python-list@python.org>
User-Agent G2/1.0
MIME-Version 1.0
Message-ID <97ae2677-ef7c-424d-9c40-eaf47a50d475@googlegroups.com> (permalink)
Subject Re: avoid the redefinition of a function
From Ramchandra Apte <maniandram01@gmail.com>
Cc Python mailing list <python-list@python.org>
Injection-Date Wed, 12 Sep 2012 13:15:21 +0000
Content-Type text/plain; charset=ISO-8859-1
X-Received-Bytes 2625
Xref csiph.com comp.lang.python:28956

Show key headers only | View raw


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/

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

avoid the redefinition of a function Jabba Laci <jabba.laci@gmail.com> - 2012-09-12 14:56 +0200
  Re: avoid the redefinition of a function Ramchandra Apte <maniandram01@gmail.com> - 2012-09-12 06:15 -0700
    Re: avoid the redefinition of a function Alister <alister.ware@ntlworld.com> - 2012-09-12 14:04 +0000
  Re: avoid the redefinition of a function Ramchandra Apte <maniandram01@gmail.com> - 2012-09-12 06:15 -0700

csiph-web