|
|
|
|
|
by d4nt
5169 days ago
|
|
I'm not sure there is one. They're useful in C# as a way of defining a function within another function (which sometimes makes for more readable code). For example: public int CountRelevantItems(IEnumerable<Thing> things)
{
// Non-trivial filter that you don't want in a where lamdba
Func<Thing, bool> isRelevant = (t) =>
{
...
}
return things.Where(t => isRelevant(t)).Count()
}
But in Python you can already define functions inside of functions so you have a better solution: def CountRelevantThings(things):
def isRelevant(thing):
...
return len(filter(isRelevant, things))
|
|
Why wouldn't you just create another function in the same class?