[Python-Dev] PEP 8: Discourage named lambdas?
Nick Coghlan
ncoghlan at gmail.com
Sat May 3 12:27:27 CEST 2008
Samuele Pedroni wrote:
> I found only an example in my personal recent code:
>
> START = "<!-- *db-payload-start* -->"
> END = "<!-- *db-payload-end* -->"
> TITLEPATTERN = lambda s: "<title>%s</title>" % s
>
> this three are later used in a very few .find() and .replace()
> expressions in the same module. I suppose my point is that while I agree
> it should be discouraged and is really silly to do it for the few chars
> gain, it can be used to some effect in very rare cases.
The way that's written currently, I think I could *very* easily miss the
fact that TITLEPATTERN is a callable while glancing over the code (and
be very confused if I later saw it being called or passed as a callback).
Converting to a def makes it obvious that one of these lines is not like
the others:
START = "<!-- *db-payload-start* -->"
END = "<!-- *db-payload-end* -->"
def TITLEPATTERN(s): return "<title>%s</title>" % s
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-Dev
mailing list