Forgetting "()" when calling methods
A. Lloyd Flanagan
alloydflanagan at attbi.com
Wed Apr 30 10:53:26 EDT 2003
Roy Smith <roy at panix.com> wrote in message news:<roy-D5BE38.18462125042003 at reader1.panix.com>...
> Erik Max Francis <max at alcyone.com> wrote:
> > One thing that PyChecker, at least, is more likely to catch is "code has
> > no effect" statements like
> >
> > sys.exit
> >
> > Without the parentheses, this clearly can't do anything useful
>
> In a language as dynamic as Python, you have to be really careful with
> words like "clearly".
>
> Invoking the name of an object to see if you raise a NameError could be
> useful in some situations. Within the past week or so, there was a
> serious discussion on this group where code along the lines of:
>
> try:
> True
> except NameError:
> do stuff
>
> was suggested as a way to tell if the version of Python being run had
> boolean support.
Just an FYI: pychecker does indeed flag code like that as having 'no
effect', including the boolean test. Very useful if you call a
function as a statement and forget the parentheses, easy to ignore if
you meant to do it.
More information about the Python-list
mailing list