Syntax Suggestion: Pass Function Definition as Argument
Rhodri James
rhodri at kynesim.co.uk
Mon Nov 11 08:05:01 EST 2019
On 07/11/2019 13:36, Stephen Waldron wrote:
> This is how it is at the moment, however it may be more agreeable, especially if that is the only purpose of the function, for python users to be able to define new functions inside of function calls.
No, not seeing it. Sorry, I don't think "I don't want to use up a
precious, precious name in this namespace" is a good enough reason to do
anything, never mind something with a lot of implicit naming going on.
Suppose you had been good and made a module of your Book example. What
is someone reading your code supposed to make of this?
import books
my_books = [
books.Book("Triplanetary", 'E.E. "Doc" Smith'),
books.Book("Foundation", "Isaac Asimov")
]
books.doToBooks(my_books):
print(book.name, ":", book.author)
then:
if book.name == "Foundation":
print("READ THIS FIRST!")
The name "book" has just appeared out of thin air, and without stopping
and reading the code of your module they will have to guess at what it
is. Now in this case their first guess is probably right, but this is a
toy example and just as easily written with lambdas if you're that
worried about using up names.
-10 from me.
--
Rhodri James *-* Kynesim Ltd
More information about the Python-list
mailing list