Tutorial Python – O básico

Python é uma das linguagens de programação mais utilizadas no campo da inteligência artificial, possuindo diversas bibliotecas e frameworks que são utilizados para este fim, como por exemplo: Tensorflow, PyTorch, Scikit-Learn, Numpy, etc. É uma linguagem de programação interpretada com uma sintaxe bastante simples e fácil de aprender. Foi criada por Guido van Rossum em 1991. Seu nome é inspirado no grupo humorístico britânico “Monty Python”.

Neste tutorial, e em tutoriais posteriores, utilizaremos a plataforma na nuvem do Google “Google Colab” (https://colab.research.google.com/) para executarmos e testarmos nossos exemplos (falaremos um poucos mais sobre esta ferramenta em tutoriais futuros).

Variáveis

Variáveis são locais na memória que armazenam algum valor. Python é uma linguagem de tipagem dinâmica, o que significa que não precisamos definir o tipo da variável no momento da sua declaração, como é comum em outras linguagens, pois a mesma terá o tipo do valor a ela atribuído no momento da sua declaração (através do operador “=”).

Por exemplo, para declararmos uma variável chamada “x” que tenha como valor o número inteiro “10”, basta utilizarmos o seguinte comando:

x = 10

python-tutorial001

Por ser uma linguagem de tipagem dinâmica podemos atribuir um novo valor, de um outro tipo para a variável x, como por exemplo uma string:

x = “uma string”

python-tutorial002

Em Python uma string é definida como um conjunto de caracteres entre aspas (simples ou duplas (como no exemplo))

Apesar de ser possível, não é recomendável a alteração do tipo da variável no decorrer do fluxo do programa, como no exemplo dado, já que isto pode causar certa confusão para aqueles que tentarem entender o que está sendo feito no mesmo.

Nomes de variáveis

Em Python os nomes de variáveis devem começar com um underscore “_” ou letra [a-z|A-Z] seguido de letras e/ou números e/ou underscores, não devem conter caracteres especiais ($, #, etc) e não devem utilizar palavras reservadas (if, else, for, while, etc).

Como exemplo, os seguintes nomes são válidos:

minhavariavel, minha_variavel, _minhavariavel, _minhavariavel1

Enquanto estes são inválidos:

1minhavariavel (começa com número), $minhavariavel (caracter “$”)

É importante também que nossas variáveis tenham nomes claros e objetivos, tornando assim mais fácil o entendimento do programa.

Por exemplo:

idade = 10

nome = “Joao”

Ao invés de:

i = 10

n = “Joao”

Lembrando que isto é apenas por questões de clareza e objetividade de código, as declarações das variáveis “i” e “n” não apresentarão erros no momento da execução do programa.

Python é uma linguagem “case sensitive”, ou seja, letras maiúsculas e minúsculas são interpretadas de forma diferente. Por exemplo, a variável “a” é diferente da variável “A”.

python-tutorial003

Tipos de variáveis

Vamos apresentar por enquanto os três tipos mais básicos de variáveis: Número, String e Booleano

O tipo número é subdividido em três categorias: número inteiro, ponto flutuante (com casas decimais) e número complexo (com o sufixo “j”).

O tipo string consiste em uma cadeia de caracteres entre aspas duplas ou simples.

O tipo booleano pode ter dois valores: True ou False (verdadeiro ou falso).

python-tutorial004

Obs: Aqui foram apresentados apenas os tipos mais básicos de variáveis, tipos que representam estruturas de dados como listas e dicionários, por exemplo, serão apresentados em tutoriais futuros.

 

Operadores

Em Python temos diversos tipos de operadores: aritméticos, relacionais, de atribuição, lógicos e etc.

Operadores são símbolos/sinais que operam sobre operandos.

Na expressão 1 + 2 = 3, os números 1, 2 e 3 são os operandos e os sinais ‘+’ e ‘=’ são os operadores.

Operadores aritméticos

Os operadores aritméticos são os de adição, subtração, multiplicação, divisão, potência,   módulo e divisão com arredondamento para baixo (+, -, *, /, **, %, // respectivamente).

O operador “+” soma os dois operandos, o operador “-” subtrai o operando da direita do da esquerda, o operando “*” multiplica os dois operandos, o operando “/” divide o operando da esquerda pelo da direita, o operando “**” eleva o operando da esquerda a potência representada pelo operando da direita, o operando “%” retorna o resto da divisão do operando da esquerda pelo da direita e o operador “//” “corta” as casas decimais resultantes da divisão do operando da esquerda pelo da direita.

python-tutorial005

Nos exemplos da imagem acima utilizamos apenas dois operandos para cada operador, mas poderíamos usar um número indefinido deles (tanto operandos quanto operadores), como por exemplo: x = 2 + 5 + 8 – 2.

A ordem das operações obedece a seguinte regra: primeiro é realizada a potenciação, depois a multiplicação e divisão, e por último a adição e subtração, da esquerda para a direita.

x = 4 + 10 / 2 ** 2 * 2

No exemplo acima, o valor de “x” será 9, pois primeiro é realizada a potenciação (2 ** 2 = 4), depois a divisão de 10 pelo resultado da potenciação (10 / 4 = 2.5), depois este resultado é multiplicado por 2 (2.5 * 2 = 5) e, finalmente, é somado 4 ao resultado (4 + 5 = 9.

Podemos alterar esta ordem com a utilização de parenteses, se quisermos que primeiro seja realizada a soma entre 4 e 10 e depois o restante das operações, fazemos desta forma:

x = (4 + 10) / 2 ** 2 * 2

Neste caso, o valor de “x” será 7. Primeiro é realizada a soma entre 4  e 10, resultando em 14, depois 2 ** 2, resultando em 4, em seguida 14 / 4, resultando em 3.5, e finalmente 3.5 * 2 = 7.

Ou seja, tudo que estiver entre parenteses têm precedência sobre os demais operadores.

Operadores relacionais (comparação)

Os operadores relacionais são: igual a, diferente de, maior que, menor que, maior ou igual a, menor ou igual a (==, !=, >, = e <= respectivamente). Estes operadores comparam os operandos retornando um valor booleano (True ou False).

python-tutorial006

Percebam a diferença entre os operadores < e e >= (menor e menor OU igual, maior e maior OU igual). A expressão (d < a) retorna False já que “d” e “a” são iguais (“d” NÃO é menor que “a”) ao passo que d <= a (menor OU igual) retorna True.

Operadores de atribuição

Os operadores de atribuição servem para atribuir valores a variáveis. São eles: =, +=, -=, *=, /=, %=, **= e //=.

python-tutorial007

Percebam que “a += 10” é equivalente a “a = a + 10”, “b -= 2” é equivalente a “b = b – 2” e assim por diante.

Operadores lógicos

Os operadores lógicos são: “and”, “or” e “not” (E, OU e NÃO). Eles operam sobre valores booleanos.

O operador “and” retorna True se, e apenas se, os DOIS operandos forem True, caso contrário, retorna False.

O operador “or” retorna True se ao MENOS UM dos operandos for True, se ambos forem False ele retorna False.

O operador “not” “nega” o valor sobre o qual opera, ou seja, se for True retorna False, se for False, retorna True.

python-tutorial008

Operadores bit a bit

Os operadores “bit a bit” realizam operações lógicas sobre os bits individuais das variáveis. São eles & (E), | (OU), ^ (XOR), ~(complemento), <> shift a direita.

Consideremos os valor 5 e 4 representados na forma binária como 00000101 e 00000100 respectivamente (considerando apenas 8 bits).

python-tutorial009

No primeiro caso 00000101 & 00000100 resulta em 00000100 (é considerado no resultado apenas o terceiro bit, direita para esquerda, pois nas duas variáveis este bit é igual a 1)

Em seguida 00000101 | 00000100 resulta em 00000101 (são considerados os bits da posição 1 e 3, já que o valor deles em uma OU outra variável é 1)

Depois em 00000101 ^ 00000100 resulta em 00000001 (por se tratar do OU EXCLUSIVO, somente a posição onde APENAS UM dos bits é 1 é considerada, neste caso a posição 1)

No exemplo  ~ 00000101 todos os bits são invertidos resultando no valor 11111010

No caso 00000101 <> 1 todos os bits são movidos uma posição para a direita resultando em 00000010 (é o mesmo que dividir o número por 2).

Join the Conversation

  1. Avatar de Desconhecido

1 Comment

Deixe um comentário

Crie um site como este com o WordPress.com
Comece agora