Skip to content

Commit

Permalink
update of slides
Browse files Browse the repository at this point in the history
  • Loading branch information
Felipe Augusto Pereira de Figueiredo committed Mar 22, 2024
1 parent d81406b commit 4b839cc
Showing 1 changed file with 28 additions and 12 deletions.
40 changes: 28 additions & 12 deletions notebooks/Tema04_Funcoes.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -674,7 +674,7 @@
"metadata": {
"id": "EyNkGDX655rQ"
},
"execution_count": 1,
"execution_count": null,
"outputs": []
},
{
Expand Down Expand Up @@ -763,17 +763,32 @@
"source": [
"## Regra de Escopo\n",
"\n",
"+ <span style=\"color:blue\"><font size=3>O que acontece se dentro de uma função ou método usarmos variáveis e/ou funções que não estão definidas dentro dela?</span> \n",
"```python\n",
"+ <span style=\"color:blue\"><font size=3>O que acontece se dentro de uma função ou método usarmos variáveis e/ou funções que não estão definidas dentro dela?</span> "
]
},
{
"cell_type": "code",
"source": [
"# variável no namespace global.\n",
"variávelA = 12\n",
" \n",
"\n",
"def minhafunção(a, b):\n",
" # namespace local da função\n",
" resultado = (a + b)*variávelA\n",
" print(resultado)\n",
" return resultado\n",
" \n",
"minhafunção(1, 2)\n",
"``` \n",
"\n",
"minhafunção(1, 2)"
],
"metadata": {
"id": "jfoZV6b0GkMQ"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"+ A regra de escopo define em qual ordem um **nome** será procurado nos **espaços de nomes**.\n",
"+ A busca pelo **escopo** (i.e., local ou **namespace**) de qualquer **nome** sempre começa no **espaço de nomes** **local** e se move para fora até atingir o **espaço de nomes** **embutido** do programa.\n",
"+ Ou seja, do **espaço de nomes** de mais baixo nível para o de mais alto nível.\n",
Expand All @@ -792,7 +807,10 @@
"**IMPORTANTE**\n",
"\n",
"+ A mesma sequência de busca ocorre para a função embutida `print`."
]
],
"metadata": {
"id": "MEE0Zz9rGr23"
}
},
{
"cell_type": "code",
Expand Down Expand Up @@ -993,8 +1011,8 @@
"source": [
"def somarLista(lista):\n",
" if len(lista) > 1: # relação de recorrência.\n",
" return lista[0] + somarLista(lista[1:len(lista)]) # A função chama a si mesma.\n",
" else: # condição de término.\n",
" return lista[0] + somarLista(lista[1:len(lista)]) # A função chama a si mesma, sempre passando um elemento a menos.\n",
" else: # condição de término, i.e., len(lista) == 1.\n",
" return lista[0]\n",
"\n",
"lista = [1, 3, 5, 7, 9]\n",
Expand Down Expand Up @@ -1034,8 +1052,6 @@
"\n",
"[![Google Colab](https://badgen.net/badge/Launch/on%20Google%20Colab/blue?icon=terminal)](https://colab.research.google.com/github/zz4fap/python-programming/blob/master/labs/Laboratorio4.ipynb)\n",
"\n",
"[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/zz4fap/python-programming/master?filepath=labs%2FLaboratorio4.ipynb)\n",
"\n",
"**IMPORTANTE**: Para acessar o material das aulas e realizar as entregas dos exercícios de laboratório, por favor, leiam o tutorial no seguinte link:\n",
"[Material-das-Aulas](../docs/Acesso-ao-material-das-aulas-resolucao-e-entrega-dos-laboratorios.pdf)"
]
Expand Down

0 comments on commit 4b839cc

Please sign in to comment.