6. Nomeando parâmetros
Python suporta a chamada de funções com diversos parâmetros, porém vimos até então somente o caso em que fizemos a chamada da função passando os parâmetros na mesma ordem em que foram definidos. Ao especificarmos o nome dos parâmetros, é possível passá-los em qualquer ordem. Observe o exemplo da função retângulo, definida como:
CODIGO
# Prograna 8.11 - Função retângulo com parânetros obrigatórios e opcionais def retângulo(largura, altura, caractere="*"): linha = caractere * largura for i in range(altura): print(linha)
É possível chamar a função retângulo como:
»> retângulo(3, 4) *** »> retângulo(largura=3, altura=4) *** *** »> retângulo(altura=4) largura=3) ★ ** *** *** ★ ★★ >» retângulo(caractere="-", altura=4, largura=3)
CODIGO
Uma vez que usamos o nome de cada parâmetro para fazer a chamada, a ordem de passagem deixa de ser relevante. Também note que o parâmetro caractere permanece opcional, porém caso o especifiquemos, também é preciso fazer com nome. Ao especificarmos o nome de um parâmetro, precisamos especificar o nome de todos os outros parâmetros também. Por exemplo, as chamadas abaixo são inválidas:
retângulo(largura=3, 4) retângulo(largura=3, a'ltura=4, "*")
CODIGO
Uma exceção a essa regra é se combinarmos parâmetros obrigatórios e opcionais. Por exemplo, é possível passar os parâmetros obrigatórios sem usar seus nomes, porém respeitando a ordem usada na declaração e parâmetros nomeados para escolher somente que parâmetros opcionais usar. Não se esqueça que, quando passar o primeiro parâmetro nomeado (usando seu nome), todos os parâmetros seguintes devem possuir seus nomes especificados também.