Escopo e Tempo de Vida de Variáveis
O escopo refere-se à visibilidade e acessibilidade de uma variável em uma parte específica do código. O tempo de vida de uma variável é o período em que ela existe na memória durante a execução do programa.
Existem três níveis de escopo em Python:
- Escopo Local: Variáveis declaradas dentro de uma função têm escopo local e só podem ser acessadas dentro dessa função.
- Escopo Global: Variáveis declaradas fora de qualquer função,
ou declaradas dentro de uma função com a palavra-chave
global, têm escopo global e podem ser acessadas em qualquer lugar do programa. - Escopo de Bloco: Com a introdução do Python 3.x, variáveis declaradas dentro de um bloco, como um bloco condicional (if-else) ou um loop (for, while), têm escopo de bloco e só podem ser acessadas dentro desse bloco.
Escopo Local
No exemplo abaixo, a variável area é uma variável local dentro da função calcular_area.
Ela só é acessível dentro da função e não pode ser usada fora dela:
Escopo Global
Verifique no código a seguir, a variável contador é uma variável global. Ela pode ser acessada e modificada dentro da função,
utilizando a palavra-chave global:
Escopo de Bloco
Dentro de um bloco de código, as variáveis definidas são visíveis e podem ser acessadas somente dentro desse bloco e de blocos internos a ele. Quando saímos do bloco, as variáveis definidas dentro dele não são mais acessíveis.
Parâmetros Default em Funções
Em Python, é possível definir valores padrão para os parâmetros de uma função. Esses valores padrão são conhecidos como parâmetros default e permitem que você chame uma função sem especificar todos os argumentos, assumindo os valores padrão para os parâmetros não fornecidos.
Definindo Parâmetros Default
Para definir um parâmetro default em uma função, basta atribuir um valor padrão ao parâmetro na definição da função.
No exemplo acima, a função saudacao tem um parâmetro nome com valor padrão "amigo". Se chamarmos a função sem especificar
o argumento, o valor padrão será usado. Caso forneçamos um argumento, esse valor será utilizado em vez do valor padrão.
Ordem dos Parâmetros
É importante observar que os parâmetros com valores default devem ser colocados por último na definição da função. Isso ocorre porque, ao chamar a função, os argumentos são passados de forma posicional e os parâmetros default permitem que sejam omitidos.
No exemplo acima, a função calcular_area tem dois parâmetros, base e altura,
sendo que altura possui um valor default de 1. Podemos chamar a função fornecendo valores para ambos os argumentos ou
apenas para base, assumindo o valor default para altura.