Кстати говоря про динамическое ограничение видимости... серьезно? Вот пример прямо со страницы, куда ссылается автор https://www.geeksforgeeks.org/static-and-dynamic-scoping/ . При интерпретации его на Python (если вызывать не в main, то ничего не поменяется. это просто для наглядности) выводит... 10! То есть статическое ограничение видимости. —--—--—--—--—--—--— x = 10
def f(): return x
def g(): x = 20; return f()
def main(): x = 30; print(g())
main() —--—--—--—--—--—--—
Еще очень странным считаю "недостаток" lambda-функций. Как я видел, все остальные "недостатки" уже обговорили. lambda-функция это упрощенная функция, small anonymous function. Другими словами она позволяет записать какую-то короткую функцию в одну строку и, возможно, не придумывать ей имя. Это примерно как списочное выражение! И это преимущество. Это прямо как сказать — у них есть маленькие яблони для дома, как круто. Но это их "недостаток' ведь такие яблони дают меньший урожай.
Кстати говоря про динамическое ограничение видимости... серьезно? Вот пример прямо со страницы, куда ссылается автор https://www.geeksforgeeks.org/static-and-dynamic-scoping/ . При интерпретации его на Python (если вызывать не в main, то ничего не поменяется. это просто для наглядности) выводит... 10! То есть статическое ограничение видимости.
—--—--—--—--—--—--—
x = 10
def f():
return x
def g():
x = 20; return f()
def main():
x = 30; print(g())
main()
—--—--—--—--—--—--—
Еще очень странным считаю "недостаток" lambda-функций. Как я видел, все остальные "недостатки" уже обговорили. lambda-функция это упрощенная функция, small anonymous function. Другими словами она позволяет записать какую-то короткую функцию в одну строку и, возможно, не придумывать ей имя. Это примерно как списочное выражение! И это преимущество.
Это прямо как сказать — у них есть маленькие яблони для дома, как круто. Но это их "недостаток' ведь такие яблони дают меньший урожай.