Métodos e Funções em Python: Desvendando a Arte de Encapsular a Mecânica do Negócio
Neste tema abrangente, mergulhamos no mundo dos métodos e funções em Python, revelando como encapsular a lógica do negócio de forma eficaz e elegante.
Começamos nossa exploração definindo a diferença entre métodos e funções, destacando como ambos desempenham um papel crucial na organização e modularização do código. Enquanto as funções são blocos de código reutilizáveis que realizam uma tarefa específica, os métodos são funções associadas a objetos em programação orientada a objetos, permitindo a manipulação dos dados de forma mais intuitiva e coesa.
Em seguida, mergulhamos na sintaxe de definição e chamada de funções em Python, discutindo os diferentes tipos de parâmetros, como parâmetros posicionais, nomeados e padrão, e explorando técnicas avançadas, como o uso de parâmetros variáveis (*args e **kwargs) para lidar com diferentes cenários de chamada de função.
Ademais, exploramos a criação e utilização de métodos em classes Python, destacando como os métodos podem ser usados para encapsular o comportamento de objetos e facilitar a interação entre eles. Discutimos os conceitos de encapsulamento, herança e polimorfismo em Python, e como esses princípios orientados a objetos podem ser aplicados para criar sistemas mais flexíveis e modulares.
Ao longo do tema, enfatizamos a importância da clareza e da legibilidade do código, apresentando boas práticas de nomenclatura e documentação de funções e métodos. Também abordamos técnicas de depuração e teste de funções e métodos, essenciais para garantir a robustez e a confiabilidade do código.
Em resumo, Métodos e Funções em Python oferece uma compreensão abrangente das ferramentas essenciais para encapsular a mecânica do negócio em Python. Ao dominar os conceitos e técnicas apresentados neste tema, você estará preparado para criar programas mais eficientes, flexíveis e fáceis de manter, impulsionando assim a sua habilidade como programador em Python
2. Conceito:
● É uma sequência nomeada de instruções que executa uma determinada
operação;
● Podem ser entendidas com pequenos trechos de código reutilizáveis;
● De execução de qualquer lugar do programa, a qualquer tempo, quantas
vezes for necessário.
● Em Python, usamos a palavra-chave DEF
O que é Método?
4. Em Python, os métodos:
● Podem ou não retornar objetos;
● Aceitar DocStrings;
● Se não for passado o parâmetro, será igual ao default definido na função.
● Aceitam parâmetros passados com nome. A ordem não importa.
● Tem namespace próprio(escopo local) e, por isso, podem ofuscar definições de
escopo global;
● etc.
O que é Método?
7. Observações:
● O fluxo da programação em Python sempre é interrompido no momento em que
uma função é chamada.
● Quando isso acontece, ele interrompe a sequência do código, executa a função
invocada e, após o término da função, retorna a sequência do ponto em que
havia parado.
O que é Método?
8. Métodos sem retorno:
● Uma função pode executar determinado trecho de código e não retornar nenhum valor, em outras
linguagens isso é representado pela palavra-chave void.
● Aqui, uma função é definida como void, caso não tenha no seu corpo nenhuma instrução return.
O que é Método?
12. VARIÁVEIS GLOBAIS
● Uma variável global é acessível em toda parte de nosso script PYTHON. Mas
não podemos alterar seu valor dentro de uma função.
O que é Método?
13. Palavra-chave global
● Dentro de uma função, podemos utilizar o valor de uma variável global
mediante a inclusão da palavra global antes do nome da variável que
desejamos.
O que é Método?
17. DocString:
O que é Método?
● Escrever este tipo de documentação é uma parte importante do projeto da
interface. Uma interface bem projetada deve ser simples de explicar; se não for
assim, talvez a interface possa ser melhorada.
● As convenções para a definição de docstring estão na PEP-257.
18. Para que servem as type annotations em Python?
O que é Método?
● Existem duas sintaxes para o uso de type annotation em Pyhon, uma para
variáveis e outra para funções.
a. Para variáveis:
nome_variável : tipo_dado
Exemplo:
19. Para que servem as type annotations em Python?
O que é Método?
● Existem duas sintaxes para o uso de type annotation em Pyhon, uma para
variáveis e outra para funções.
b. Para funções:
20. Para que servem as type annotations em Python?
O que é Método?
Exemplo:
Possui Sintaxe simples (economia de tempo): A sintaxe enxuta e simples do Python é uma enorme vantagem.
É Multiplataforma e de código aberto: Roda em Windows, Linux, MacOS, BSD e Android;
Permite o livre desenvolvimento sem preocupação com royalties e/ou licenças.
Uma função pode executar determinado trecho de código e retornar algum valor. Aqui, o retorno é definido pela presença da instrução return.
Uma função pode executar um determinado trecho de código e retornar um valor para quem a chamou. Neste caso, possui instrução com palavra-chave return e sem void.
O valor da multiplicação das entradas será retornado e atribuído à variável mult, e o valor da soma das entradas atribuído à variável soma.
Isso acontece porque, na verdade, quando fazemos return x*y, x+y, estamos retornando uma TUPLA, um tipo de dado avançado que vamos estudar mais a frente.
Mas é legal saber que existe essa possibilidade de ampliar a quantidade de informações que se quer passar.
É possível definir valores padrões para nossos argumentos. Se, na chamada do método, não forem passados os parâmetros necessários, o Python assumirá o valor definido como padrão.
Métodos podem definir variáveis locais, existindo apenas durante a execução da função. Quando a necessidade termina, as variáveis deixam de existir.
Obs.: Devemos tomar cuidado pois uma função não pode alterar valores de variáveis que não sejam locais (variáveis globais).
Um detalhe importante, lembrando que o Python é essencialmente interpretado, ou seja, vai ler linha a linha seu projeto, quando o mesmo método é escrito, em sequência, o Python só vai considerar o último e ignorar o primeiro.
Como no exemplo abaixo, se tentarmos utilizar o primeiro passando o parâmetro ‘teste’, vamos receber uma tela de erro, em seguida
Uma docstring é uma string literal presente na primeira linha da definição de um módulo, classe ou função. O docstring de qualquer objeto pode ser acessado através de um atributo especial chamado __doc__.
A interface “doc” é uma abreviação para “documentação”. Aqui está um exemplo::
Por convenção, todas as docstrings têm aspas triplas, também conhecidas como strings multilinha porque as aspas triplas permitem que a string se estenda por mais de uma linha.
É conciso, mas contém a informação essencial que alguém precisaria para usar esta função. Explica sucintamente o que a função faz (sem entrar nos detalhes de como o faz). Explica que efeito cada parâmetro tem sobre o comportamento da função e o tipo que cada parâmetro deve ser (se não for óbvio).
Para que servem as type annotations em Python?
As anotações de tipos (ou dicas de tipo), foram implementadas no Python a partir de sua versão 3.0 e são usadas para indicar os tipos de dados das variáveis e dos valores de entrada e saída de funções e métodos em um programa escrito em Python ou em outras linguagens de programação. Existem duas formas de utilizar Annotations:
Tipo estático — Uma verificação de tipo é realizada em tempo de compilação ou interpretação e requer declarações de tipo de dados. O código é mais explícito.
Tipo dinâmico — Verificações de tipos são realizadas em tempo de execução, e assim não requer declarações de tipo de dados.
A ideia de usar as type hints (ou ainda assinaturas de tipo) é tornar o código mais legível e organizado para nós mesmos e para outros membros da equipe de desenvolvedores em um projeto. Porém, essas expressões não possuem significado algum em termos programáticos, e são ignoradas pelo interpretador da linguagem, assim como ocorre com os comentários acrescidos ao código.