Como criar suas próprias funções em Python sobre o Raspberry Pi
Uma das coisas que o Raspberry Pi permite que você faça em Python, e muitas outras linguagens de programação, é criar uma função. UMA função pode receber alguma informação a partir do resto do programa (um ou mais argumentos), Trabalhar sobre ele e, em seguida, enviar de volta um resultado.
Antes de poder utilizar uma função, você tem que defini-lo, o que você usando um def declaração. Para dizer Python qual as instruções pertencem a função, você recuar los debaixo do def declaração. Aqui está um exemplo de programa para familiarizá-lo com a idéia de funções, e como nós vamos usá-la:
# Exemplo de dictionarycheck functionsdef (mensagem): print "Vou olhar no dicionário para", messagereturn "Olá" dictionarycheck ( "mensagem de teste") resultado = dictionarycheck ( "message2 test") print # 147-resposta é: # 148-, resultado
Vamos falar com você através desse programa em um momento, mas aqui está um vislumbre do que é mostrado na tela quando você executá-lo:
Vou olhar no dicionário para messageI teste vai olhar no dicionário para message2Reply teste é: Olá
Este é um pequeno, mas poderoso programa porque ele lhe diz quase tudo que você precisa saber sobre as funções. Como você pode ver, a função foi definida na +
início do programa, com esta linha:
dictionarycheck def (mensagem):
Isso configura uma função com o nome dictionarycheck (), mas também define-se para receber um pedaço de informação do resto do programa e para colocá-lo na variável nós chamamos mensagem.
A próxima linha imprime um comunicado dizendo # 147-I vai olhar no dicionário para # 148- seguido pelos conteúdos da variável mensagem. Isso significa que ele imprime qualquer informação que é enviada para a função. A próxima linha começando com Retorna sai da função e envia uma mensagem de volta, que no nosso exemplo é Olá.
As funções são unidades auto-suficientes, a variável mensagem não pode ser usada pelo resto do programa (que é o que é conhecido como um variável local). Quando você está escrevendo suas próprias funções, você deve dar-lhes um trabalho a fazer, e então usar Retorna para enviar o resultado de volta para o resto do programa.
As funções não são executadas até que você especificamente dizer ao programa para executá-los, por isso, quando Python vê a definição da função, ele apenas se lembra de quando ele precisa mais tarde. Esse tempo vem logo em seguida, quando você emitir o comando:
dictionarycheck (# 147-teste de mensagem # 148-)
Isso executa o nosso dictionarycheck () função e envia o texto # 147-mensagem de teste# 148- para trabalhar. Quando a função começa, coloca Python # 147-mensagem de teste# 148- na variável da função chamada mensagem, e, em seguida, imprime o texto na tela que o contém. O texto # 147-Olá# 148- é enviado de volta pela função, mas você não tem uma maneira de pegar essa mensagem.
O próximo trecho de código mostra como você pode pegar informações voltando de uma função. Em vez de apenas executar a função, você pode definir uma variável para ser igual a sua saída, como este:
result = dictionarycheck ( "message2 test") print # 147-resposta é: # 148-, resultado
Quando o texto # 147-Olá# 148- é enviado de volta pela função, ele vai para o resultado variável, e o programa principal pode, em seguida, imprimi-lo na tela.
Este exemplo simples ilustra algumas razões pelas quais funções são uma ideia brilhante, e têm blocos de construção fundamentais tornar-se em muitas linguagens de programação:
Funções permitem a reutilização de partes do seu programa. Por exemplo, usamos a nossa função para exibir duas mensagens diferentes aqui, apenas enviando a função de um argumento diferente de cada vez. Quando você usa programas mais sofisticados, sendo capaz de reutilizar partes do seu programa faz o seu programa mais curto, mais simples e mais rápido do que escrever.
Funções tornam a compreensão do programa mais fácil, porque eles dão um nome e uma estrutura a um conjunto de instruções. Sempre que alguém vê dictionarycheck () em nosso programa, eles podem fazer um bom palpite sobre o que está acontecendo. Como você trabalha em projetos maiores, você vai encontrar a legibilidade torna-se cada vez mais importante.
Ela torna mais fácil de manter e atualizar seu programa. Você pode facilmente encontrar quais bits do programa para mudar, e todas as mudanças que você precisa fazer será na mesma parte do programa. Se você pensar em uma maneira melhor de fazer um dicionário look-up mais tarde, basta modificar a função, sem perturbar o resto do programa.
Funções fazem prototipagem mais fácil. Isso é o que nós fizemos aqui: Nós construímos um programa experimental que leva algum texto e envia de volta uma mensagem. Isso é o que a nossa acabado dictionarycheck () função fará, exceto que este apenas envia a mesma mensagem de volta de cada vez e acabamento irá enviar mensagens diferentes para trás, dependendo do que o jogador disse.
Você poderia construir o resto do programa em torno este protótipo para verificar como funciona, e depois voltar e terminar a dictionarycheck () função.