Olá a todos. Tenho uma dúvida meio boba mas vai assim mesmo:
Qual a diferença entre clousure e função aninhada?
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasil+unsubscribe@googlegroups.com
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.--
Uma closure é definida por uma função que referencia variáveis de algum escopo léxico a qual ela normalmente não teria acesso. A closure de fato é o par composto pela função e o escopo que ela referencia. Uma função aninhada pode estar numa closure, se ela referenciar variáveis da função que a definiu. Neste caso, as variáveis também fariam parte da closure.Pela sua pergunta, imagino que você queria saber sobre a diferença entre funções lambda e funções aninhadas. Funções lambda geralmente são confundidas com closures, pois normalmente elas estão em closures, mas são coisas diferentes. Uma função lambda é simplesmente uma função anônima. Ela tem esse nome por analogia ao Lambda Calculus, sistema formal desenvolvido pelo Alonzo Church (o mesmo da Church-Turing hypotesis). O sistema é definido pela composição de funções anônimas para expressar qualquer computação que uma máquina de Turing também conseguiria expressar. Por isso, em muitas linguagens as funções anônimas são chamadas de funções lambda.Do ponto de vista prático, em Python, a maior diferença entre funções anônimas e funções aninhadas é que nas anônimas não é possível representar qualquer statement, somente expressões. Não é possível, por exemplo, escrever um "if" ou um laço "for". Por esse motivo, as funções lambda geralmente são chamadas de "expressões lambda".
2017-03-25 1:33 GMT-03:00 <jmarcell...@ufpi.edu.br>:
Olá a todos. Tenho uma dúvida meio boba mas vai assim mesmo:
Qual a diferença entre clousure e função aninhada?
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.