Maratona Python para Automação de Rede #1: Trabalhando com Variáveis

6 minute read

Buenas NetCode… Neste artigo iremos dar os primeiros passos com Python, iremos desmistificar o conceito por trás dessa linguagem que de certa forma pode nos ajudar a montar uma estrutura poderosa de automação.

alt

Neste artigo você aprenderá a trabalhar com variáveis na linguagem Python, compreendendo como devem ser feitas as declarações e atribuições de valores. Pegue seu café e vamos nessa!

Tópicos:

  • Declaração e atribuição
  • Conceitos
    • Básico de concatenação
    • string
    • float
    • boolean
    • Convertendo dados int por string
    • Dados variados - Definição

Declaração e atribuição

Variáveis são um dos recursos mais básicos das linguagens de programação. Utilizadas para armazenar valores em memória, elas nos permitem gravar e ler esses dados com facilidade a partir de um nome definido por nós.

No exemplo descrito abaixo, iremos abrir o terminar Python no linux via comando python3 ou outra versão que você estiver instalado na sua máquina. A variável pontos armazena o valor 10. Este dado armazenado se refere em um valor do tipo int (inteiro).

>>> pontos = 10 
>>> type(pontos)
<class 'int'> # Tipo de dado armazenado pela variável

O tipo de variável int seria um dado que não contém . ou , perante a declaração deste dado.

Vale ressaltar que existe diversos modelos para se trabalhar com variável, a variável pode ser uma lista, um dicionário ou até mesmo uma tupla.

A lista nada mais é que múltiplos elementos ou valores armazenados dentro de uma variável. Abaixo é mostrado um exemplo de uma lista:

>>> name = 'Thiago' 
>>> meus_amigos = ['Caio', 'Guilherme', 'Hemelly']

A primeira variável nomeada por name, foi armazenado um dado do tipo string (‘Thiago’).

Na segunda linha declaramos uma variável contendo uma lista de elementos armazenados nesta variável. Os três elementos são do tipo string.

Ao inserirmos o comando type(), irá nos retornar o tipo de variável que estamos declarando:

>>> type(name)
<class 'str'>
>>>
>>> type(meus_amigos)
<class 'list'>

Estes valores seriam exemplos de como podemos declarar variáveis e inserirmos valores dentro delas para que durante o código podemos manipular os elementos inseridos em variáveis comuns, listas ou até mesmo um dicionário.

Conceitos

Básico de concatenação

No código descrito abaixo, quando falamos de concatenação entre somas, quando o Python enxerga adição ou subtração associadas à uma multiplicação, ele primeiro calcula o valor da multiplicação para depois fazer a soma, isso é prioridade do Python:

>>> 2+3*4
14
>>> 
>>> (2+3)*4 #Cocatenando os valores para nos retornar o valor que queremos
20
>>>

Dica: Para fugirmos disso e optarmos por primeiro fazer a soma e depois associar estes valores à uma multiplicação, iremos atribuir parêntese no valor que queremos que tenha prioridade para somar primeiro do que a multiplicação.

string

Este tipo de dado é utilizado quando queremos associar um conjunto de caracteres à uma determinada variável.

Podemos trabalhar com ' simples ou aspas ". E também podemos trabalhar com os dois tipos de aspas dentro de uma string:

>>> "isto é uma string"
'isto é uma string'
>>> 
>>> 'isto é uma string'
'isto é uma string'
>>> 
>>> 'isto é uma "string"'
'isto é uma "string"'
>>>

Existe um outro modelo para definir string em quebras de linhas. Podemos definir uma função print() associada à 3 aspas duplas ("""). Isto é utilizado quando queremos atribuir valores em linhas. Segue exemplo descrito abaixo:

>>> print("""Isto é outro exemplo de definição de string
... Só que neste exemplo a string é formata em linhas""")
Isto é outro exemplo de definição de string
 que neste exemplo a string é formata em linhas
>>>

Neste exemplo descrito no código acima, estamos apenas definindo uma variável e o próprio Python executa para gente, agora iremos definir as variáveis, armazená-las e depois iremos reutilizá-las dentro da nossa lógica.

No exemplo abaixo, estamos definindo as variáveis do tipo string e armazenando um valor dentro delas. Depois iremos definir outra variável que faz a associação de todas as outras variáveis em apenas uma única variável:

>>> str1 = "Cisco, "
>>> str2 = "Juniper, "
>>> str3 = "Nokia "
>>> str4 = str1 + str2 + str3
>>>
>>> print(str4)
Cisco, Juniper, Nokia
>>>

float

Este tipo de dado é bastante interessante e costuma estar presentes em aplicações, por exemplo, em aplicações de estatísticas, pois, contém valores variantes. seguidos de . ou , durante a inserção do valor por completo.

Abaixo é mostrado um exemplo de dados do tipo float:

valor = 3.200
>>> type(valor)
<class 'float'>

No exemplo abaixo definimos três tipos de variáveis alocadas em apenas uma indexação. Este exemplo nos ajuda a desmistificar a forma de estruturarmos diferentes tipos de variáveis:

Quando a configuração é aplicada (ou quando a rede entra em desordem), geralmente ocorre uma série de alterações no estado operacional , como:

a, b, c = 1.5, 3, 'x'
>>> type(a)
<class 'float'>
>>> 
>>> type(b)
<class 'int'>
>>> 
>>> type(c)
<class 'str'>
>>>

Dica: O tipo de variável float é usada quando eu quero atribuir valores decimais junto à valores inteiros. O resultado desta variável sempre será float.

boolean

Este tipo de dado é apenas para sabermos se os valores são falsos ou verdadeiros (True or False).

Este tipo de dado armazenado dentro de uma variável é bastante utilizado quando queremos trabalhar com operações booleanas, é basicamente para fazermos comparações de variáveis dentro da lógica definida no código:

>>> False
False
>>> 
>>> True
True
>>> 
>>> type(False)
<class 'bool'>
>>> 
>>> 2 > 3
False
>>> 
>>> 2 < 3 
True
>>>

Dica: Vale ressaltar que, para sabermos qual variável estamos trabalhando, utilizamos a função type() para isso.

Convertendo dados int por string

No Python, dentro da logica raiz dele, não é possível concatenar variável do tipo inteiro dentro de uma string. Para fugir disso, é preciso atribuir a função str() dentro de print()

Percebe-se que ao tentar concatenar uma variável do tipo inteiro dentro de uma string, me retornará um erro:

>>> x = 3
>>> type(3)   
<class 'int'>
>>> 
>>> print("Este é um exemplo de número inteiro: " + x)     
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>>

A mensagem de erro TypeError: can only concatenate str (not "int") to str indica que, pode apenas concatenar valores correspondes ao mesmo tipo de dado, no caso, string para string.

Para que podemos printar a variável do tipo inteiro dentro de uma string, precisamos convertê-la em string durante o processo de chamada dessa variável:

>>> print("Este é um exeplo de número inteiro: " + str(x))
Este é um exemplo de número inteiro: 3
>>>

Percebe-se que a variável está sendo nomeada como string apenas neste processo de chamada, ou seja, ao utilizar a função type(), percebe-se que a variável x ainda continua sendo inteira, ou seja, ela foi convertida apenas para usar na impressão daquela concatenação acima, e não modificada na raiz da lógica.

>>> type(x)
<class 'int'>
>>>

Para alterarmos o tipo de dado que essa variável contém, precisamos alterar na raiz desta lógica:

>>> x = str(x) 
>>> type(x)
<class 'str'>
>>>

Dados variados - Definição

Nas variáveis definidas abaixo, é mostrado a definição de cada uma delas:

#########################
## Tipos de dados     
#########################

max_permitted_value = 500 # Variáveis com inúmeras palavras especificando a mesma coisa, recomenda-se aplicar a tecla underscore
maxPermittedValue = 500  # Ao invés da tecla underscore, pode aplicar a junção das palavras
 
age = 31  # Tipo int
 
miles = 3.4  # Tipo float
 
finished = True # Tipo boolean
 
name = 'Andrei' # Tipo str
 
years = [2018, 2019, 2020]  # Tipo list
 
week_days = ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')  # Tipo tuple
 
vowels = {'a', 'e', 'o', 'u'}  # Tipo set
 
fs = frozenset((1, 2, 'abc', 'xyz')) # Tipo frozenset
 
countries = {'de':'Germany', 'au':'Australia', 'us':'United States of America', 'gr':'Greece'} # Tipo dict

Bom, por hoje é só. 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