Maratona Python para Automação de Rede #2: Estrutura de código - Métodos, Funções e Módulos

6 minute read

Buenas NetCode… Neste artigo iremos dar continuidade nos temas referentes à linguagem Python. Hoje iremos aprender a trabalhar com funções e parâmetros comuns utilizados nesta linguagem.

Após estudar este tema, você deverá compreender as principais funções para montar uma estrutura de código em Python. Pegue seu café e vamos nessa!

alt

Tópicos

  • input()
  • def
  • .format()
  • Importando e usando pacotes e módulos

input()

A função input serve para você mostrar uma mensagem para o user e capturar um valor digitado pelo mesmo:

nome = input("digite seu nome: ")
print("Olá " + nome+"!")

No exemplo abaixo, estamos definindo na raiz da lógica a variável para ser do tipo int, isto deverá acontecer para não ocorrer erro durante a impressão do código:

valor = int(input("Preço é: "))
quantidade = int(input("Quantidade é: "))

valor_e_quantidade = valor * quantidade
print("O preço total é: ", valor_e_quantidade)

Se eu não declarasse a função int na raiz da lógica, iria ocorrer um erro especificado na variável valor_e_quantidade. O erro se refere à soma de string com string (valor e quantidade) armazenada na variável valor_e_quantidade.

A função input() é muito simples e bastante utilizada para quando queremos digitar algum dado e especificar este mesmo dado durante o código.

def

A operação do def inserida no código abaixo funciona da seguinte forma… Definimos o parâmetro def, passamos um valor para este parâmetro, este valor ficou armazenado em memória e em seguida chamamos este valor city:

def myCity(city):
    print("I live in " + city + ".")
myCity("Austin")
myCity("Tokyo")
myCity("Salzburg")

Ao executarmos este código, teremos o seguinte resultado:

$ python3 function.py 
I live in Austin.
I live in Tokyo.
I live in Salzburg.

Um fator bastante relevante é que, quando falamos de código, nos baseamos em Coding propriamente dito, Methods, Functions, Modules e Classes.

O código não é elegante quando tem muitos comentários, o código deve ser limpo, isso é um princípio quando falamos de código. Qualquer desenvolvedor que for pegar seu código, ele irá entender o que está descrito nele.

Métodos e funções praticamente fazem as mesmas coisas, elas são declaradas da mesma forma. Segue exemplo abaixo:

def mudar_para_maiuscula(texto_entrada):
    return texto_entrada.upper()

resultado = mudar_para_maiuscula(texto_entrada="thiago")
print(resultado)

Ao executarmos, percebe-se que o valor passado para a variável texto_entrada foi imprimida de forma maiúscula.

$ python3 coding_basic.py 
THIAGO

No exemplo acima foi declarado uma função, o nome que eu nomeei à esta função está descrito em frase mudar_para_maiuscula, quando é definido em frase, está nomeação deverá ser inserido o caractere underline.

Dentro desta função foi inserida uma variável que iremos armazenar um valor depois. o parâmetro return seguido da função .upper(), se refere à uma função que irá retornar um valor que iremos armazená-lo durante a execução do código.

Após definirmos a estrutura de método e função, agora iremos printar o valor desta estrutura.

Inserimos uma variável resultado, dentro dessa variável foi declarado o método mudar_para_maiuscula, ao mesmo tempo declaramos a variável texto_entrada e armazenamos uma string.

como a variável texto_entrada está anexada à um função .upper() que seria mudar o formato de caracteres armazenados dentro desta função para letras maiúsculas.

Após ser definido a string dentro da função, declaramos um print para imprimir todos os valores armazenados dentro desta variável.

Neste próximo exemplo de declaração de métodos e funções, iremos avançar um pouco declarando também a forma mais clássica de utilizar a concatenação para passar valores armazenados dentro de uma variável:

def idade(nome, ano):
    idade = 2020-ano
    print(f"{nome} tem {idade} anos de idade")

idade(ano=2000, nome="Thiago")

a concatenação acima é o modo mais clássico de se utilizar. Neste exemplo não precisa inserir o .format(), pois, o f antes das aspas já indica que você quer formatar o conteúdo das variáveis que você deseja imprimi-las. Veremos um pouco mais sobre a função .format() mais adiante.

No exemplo de código descrito acima, passamos o método def seguido da função idade, está função foi especificado dois valores, estes dois valores serão mencionados como variáveis a seguir.

Declaramos uma variável idade, dentro desta variável armazenamos um valor - ano (variável para declarar o ano de nascimento).

Ao printarmos, declaramos o parâmetro f (seria a função .format() de forma abreviada) e passamos os valores que queremos inserir dentro de { } durante a execução do código.

Na última linha declaramos de forma específica os dados que queremos armazenar na variável ano e nome.

Segue abaixo o resultado deste código:

$ python3 demo_concatenacao.py 
Thiago tem 20 anos de idade

.format()

A função .format() serve para executar uma variável (valor que ela guarda) sem declarar a variável dentro da função de impressão print().

Para que isso ocorra será preciso utilizar a função .format() e declarar a variável dentro da string de execução print().

Segue um exemplo de código via terminar Python utilizando a função .format():

>>> pi = 22/7
>>> pi
3.142857142857143
>>> 
>>> type(pi)
<class 'float'>
>>> 
>>> print("O valor de pi é {} ".format(pi))
O valor de pi é 3.142857142857143
>>>

A { } serve para o Python identificar que na hora da impressão ( print() ), uma variável será alocada dentro das chaves, o Python terá de saber onde inserir está variável.

Como convertemos a variável pi para o valor que ela guarda, será printado a execução desta variável, ou seja, será printado o valor armazenado dentro desta variável.

Quando declaramos o .format() e alocamos a variável dentro desta função, a primeira { } irá se referir à primeira variável descrita dentro da função .format().

Agora iremos simular se estivesse duas variáveis e como iremos estruturar e executar o valor destas duas variáveis dentro da função .format().

>>> pi = 22/7
>>> pi # executando a variável para mostrar o resultado da conta
3.142857142857143
>>> 
>>> so = 22+3
>>> so # executando a variável para mostrar o resultado da conta
25
>>> 
>>> type(pi) # Descobrindo o tipo da variável
<class 'float'>
>>> 
>>> type(so) # Descobrindo o tipo da variável
<class 'int'>
>>> 
>>> print("O valor de so é {} e o valor de pi é {} ".format(so, pi))
O valor de so é 25 e o valor de pi é 3.142857142857143 
>>>

Dica: Caso o valor de resultado da variável estiver sendo representada por inúmeras casas decimais, podemos inserir o parâmetro :.2f dentro das { }. Segue exemplo do resultado descrito abaixo:

>>> print("O valor de so é {} e o valor de pi é {:.2f} ".format(so, pi))
O valor de so é 25 e o valor de pi é 3.14 
>>>

Importando e usando pacotes e módulos

O parâmetro import descrito na estrutura do script serve para importar módulos que estão internos ou externos da minha máquina.

Você pode importar estes módulos usando as seguintes sintaxes:

  • import
  • from import
     >>> import requests
    >>> response = requests.get('https://google.com')
    >>> print(response.status_code)
    Executing...
    Checking dependencies
    200
    >>>
    

No exemplo descrito acima, importamos a biblioteca requests. Está biblioteca é bastante utilizada quando queremos construir uma API para consumir, buscar algum tipo de informação ou alterar algum tipo de informação baseada em um determinado serviço.

Em seguida declaramos uma variável nomeada como response e armazenamos o módulo requests.get() seguido do endereço que queremos efetuar uma requisição.

É dessa forma que montamos uma estrutura de pacotes internos ou externos para que possamos trabalharmos com os módulos que este pacote contempla.

Bom, por hoje é só, galerinha. E aí, o que achou deste artigo? Comente aqui embaixo, vai ser legal contar com sua presença por aqui.

Tags:

Categories:

Updated:

Leave a Comment