Introdução
Neste tópico iremos aprender as primeiras instruções na linguagem Python, como escrever na tela do computador e ler informações do teclado.
Também é abordado como utilizar variáveis para guardar os dados e quais são os tipos de dados básicos (primitivos) que podemos armazenar com simples instruções.
Usando o shell
A linguagem Python acompanha um ambiente que você pode executar instruções e acompanhar a sua execução e resultado em tempo real, denominado shell.
Existem diversas formas de acessá-la, a foma mais simples é usando o terminal da sua máquina e digitando o comando “python” (não esqueça de dar “enter”).
Execute algumas expressões na shell, como 2 + 2. Uma expressão consiste de valores (número 2) e operadores (como a adição +) que podem ser calculados para um valor. Um valor sem operadores também é considerado uma expressão.
Para sair do shell, basta digitar exit( ) e dar enter.
A linguagem Python fornece algumas operações predefinidas, como os operadores matemáticos.
Operadores matemáticos
A linguagem Python possui os seguintes operadores matemáticos:
Operador | Operação | Exemplo | Resultado |
** | Exponenciação | 2 ** 4 | 16 |
% | Resto da divisão | 20 % 7 | 6 |
// | Divisão inteira | 20 // 7 | 2 |
/ | Divisão | 20 / 7 | 2.857142 |
* | Multiplicação | 4 * 6 | 24 |
- | Subtração | 7 - 3 | 4 |
+ | Adição | 7 + 3 | 10 |
Três operadores merecem a atenção para os novos programadores: o de exponenciação (**), o resto da divisão (%) e a divisão inteira (//).
A exponenciação calcula a base elevada à potência do expoente, por exemplo 2 ** 4 = 24 = 2 * 2 * 2 * 2.
O resto da divisão é literalmente o resto da divisão entre dois números, por exemplo, 20 % 7 = 6, uma vez que 20 dividido por 7 é 2, e 20 - 2 * 7 é igual a 6.
Já a divisão inteira retorna a parte inteira quando a divisão não é exata, por exemplo 20 // 7 = 2.
Experimente alguns operadores matemáticos no shell.
>>> 2 + 3 * 6
20
>>> (2 + 3) * 6
30
>>> 48565878 * 578453
28093077826734
>>> 2 ** 8
256
>>> 23 / 7
3.2857142857142856
>>> 23 // 7
3
>>> 23 % 7
2
>>> 2 + 2
4
>>> (5 - 1) * ((7 + 1) / (3 - 1))
16.0
A ordem de precedência entre os operadores é semelhante aos matemáticos, a multiplicação tem mais prioridade de execução do que a adição, por exemplo. Da mesma forma, você pode alterar a ordem de precedência através da utilização de parênteses.
Tipos de Dados
Todo valor que utilizamos em um programa, pertence a um tipo de dado. A linguagem Python possui como tipos de dados mais comuns: inteiros, ponto flutuante, string, booleanos. Inteiros representam os números que não possuem casas decimais, os de ponto flutuante são os números reais ou que possuem casas decimais. Já a string é uma sequência de caracteres ou representam texto.
Tipo de Dado | Exemplos |
Inteiro | -2, -1, 0, 1, 2, 3, 4, 5 |
Ponto flutuante | -1.25, -1.0, -0.5, 0.0, 0.5, 1.0, 1.25 |
String | 'a', 'aa', 'aaa', 'Ola!', '11 dias de aula' |
boolean | True, False. |
Observe que os valores string devem estar entre aspas simples (‘) ou duplas (“) e o tipo de dado boolean somente pode assumir o valor _True _ (valor verdade) ou o valor False (valor falso). Fique atento que o primeiro caracter é maiúsculo.
Concatenação de string
O operador de adição, além de somar números, também é utilizado para “juntar” ou concatenar strings.
>>> 'primeiro' + ' segundo nome'
'primeiro segundo nome'
>>> 'tenho ' + ' 15 anos'
'tenho 15 anos'
Replicação de string
Com o operador de multiplicação, pode-se replicar uma string.
>>> 'seis ' * 6
'seis seis seis seis seis seis '
>>> 6 * 'seis '
'seis seis seis seis seis seis '
Armazenamento de Dados
Os dados usados por um programa de computador podem ser armazenados e acessados, a princípio, da memória principal ou memória RAM (Random Access Memory - memória de acesso aleatório) e do disco rígido. Neste útimo caso, os dados devem estar armazenados em algum arquivo.
A velocidade de acesso de uma informação armazenada na memória RAM é superior ao armazenado em discos rígidos. Para fins de comparação, se um acesso a memória demorassem na escala de segundos, o acesso a um disco SSD (Solid State Drives - discos de estado sólido) levaria semanas e em um disco rígido mecânico, de meses a um ano!
Em compensação os dados armazenados na memória RAM são voláteis, se o seu computador for desligado ou reiniciado, eles serão perdidos. Já em discos rígidos, estes dados ficarão armazenados permanentemente, até que você os decida apagar.
Além disso, a quantidade de memória RAM é bem inferior que a quantidade de espaço de um disco. Sendo o preço do espaço de armazenamento da memória RAM bem superior ao preço de armazenamento de um disco rígido. Por exemplo, é comum os computadores pessoais possuírem terabytes (TB) de armazenamento em disco e gigabytes (GB) de memória RAM, 1 TB = 1.000 GB.
Variável
Uma variável é um local na memória principal (RAM) para a escrita e leitura de valores, identificado por um nome.
Criamos variáveis em um programa para facilitar o armazenamento de valores que poderão ser utilizados em outras instruções. O nome de uma variável não pode ser alterado, mas o seu valor sim(veremos que também podemos deixá-la imutável).
As linguagens de programação podem ser tipadas ou não tipadas. Uma linguagem é tipada quando é obrigado declarar o nome e o tipo de dados que podem ser armazenados na variável. Já as linguagens não tipadas, pode-se armazenar o valor em uma variável sem declarar o tipo. A linguagem **Python não é tipada.
Atribuição (=)
O operador de atribuição, responsável para atribuir um valor à variável é o = (símbolo de igualdade).
Veja o exemplo baixo:
>>> message = 'Ola, meu primeiro programa'
>>> print(message)
Ola, meu primeiro programa
A variável com nome message foi definida e o valor “Ola, meu primeiro programa” foi atribuído a ela. Podemos então usar o nome da variável para acessar o valor armazenado, como na linha print (message).
>>> message = 'Ola, meu primeiro programa'
>>> my_age = 30
>>> my_salary = 150.50
>>> is_Old = False
>>> message
'Ola, meu primeiro programa'
>>> my_age
30
>>> my_salary
150.5
>>> is_Old
False
REGRAS PARA NOMES DE VARIÁVEIS |
|
Você pode alterar livremente o valor de uma variável depois que ela foi inicializada, teste alguns exemplos.
>>> ano_bissexto = 2016
>>> ano_bissexto
2016
>>> ano_bissexto = 2020
>>> ano_bissexto
2020
E criar expressões utilizando somente variáveis.
>>> valor_produto = 350.50
>>> desconto = 0.15
>>> valor_desconto = valor_produto * desconto
>>> valor_desconto
52.574999999999996
>>> sobrenome = 'Silva'
>>> sobrenome = sobrenome + ' Sousa'
>>> sobrenome
'Silva Sousa'
Solicitando entrada do usuário
A partir de agora vamos escrever programas mais elaborados do que o simples cálculo de variáveis a análise de expressões usando o shell.
Escrevendo o código fonte
Utilizando um editor de texto ou alguma IDE como o Visual Studio Code, digite o seguinte conteúdo, explicaremos em breve o seu conteúdo:
#Programa para ler e imprimir nome do usuario
print('Digite seu nome:')
name = input()
print('Bem vindo ' + name)
O código fonte de programas Python deve possuir a extensão .py, então salve o arquivo com o nome nomeUsuario.py em alguma pasta no seu computador. Mas o que é o código fonte?
Código fonte é o nome do arquivo que contém as instruções ou o algoritmo a ser executado pela máquina, escrito em instruções ou comandos da linguagem de programação utilizada.
Executando o programa
Por ser uma linguagem interpretada, o próximo passo é executarmos o programa que acabamos de escrever com o interpretador Python.
Se você estiver utilizando uma IDE, basta executar pelo próprio ambiente, caso contrário, acesse o terminal da sua máquina e navegue até a pasta onde você salvou seu arquivo. Finalmente digite “python nomeUsuario.py” e interaja com o seu primeiro programa com interação com o usuário.
Ele é um programa bem simples que solicita que você digite seu nome e depois imprime a mensagem de boas vindas.
Entendendo o programa
#Programa para ler e imprimir nome do usuario
print('Digite seu nome:')
name = input()
print('Bem vindo ' + name)
Na linha 01, temos um comentário. Toda linha que se inicia com o hashcode (#) é ignorado pelo Python. Isso significa que o desenvolvedor pode escrever livremente alguma informação sobre o código. O uso de comentários é importante para documentar o algoritmo, geralmente descrevendo a sua funcionalidade. Linhas em branco também são ignoradas pela linguagem.
Na linha 02, estamos utilizando a função print, responsável por imprimir na tela o texto localizado dentro dos parênteses.
Em Python, uma função é reconhecida pela presença dos parênteses, ela possui um nome e é seguida por parênteses que podem ou não receber ou conter algum valor. Isso vai depender da função que você está utilizando. Logo, se você quer usar o print( ) para imprimir algo na tela, você deverá passar o valor a ser impresso dentro dos parênteses.
Na linha 03, temos outra função: input( ) e o seu valor é atribuído à variável name. A função input( ) é responsável por ler informações do teclado, até o usuário digitar enter e capturar o valor digitado como uma string. Desta forma a variável name é do tipo string.
Já na linha 04, estamos novamente invocando a função print( ) para imprimir na tela a mensagem Bem vindo concatenado com o valor armazenado na variável name.
Convertendo tipos de dados
Função int( ), str( ), float ( )
Se tivéssemos que alterar o programa de boas vindas ao usuário, para imprimir além do nome, solicitar a idade do usuário e calcular a idade dele 15 anos depois?
Uma primeira tentativa, poderia ser:
#Programa para ler e imprimir nome do usuario
#Solicitando a idade e calculando o valor em 15 anos
print('Digite seu nome:')
name = input()
print('Qual sua idade:')
age = input()
print('Bem vindo ' + name)
print('Voce tera ' + (age + 15) + ' anos daqui a 15 anos')
Mas ao executarmos, teremos um erro:
Digite seu nome:
joao
Qual sua idade:
12
Bem vindo joao
Traceback (most recent call last):
File "C:\Pessoal\Dropbox\Youtube\Python\codes\nomeIdadeUsuario.py", line 8, in <module>
print('Voce tera ' + (age + 15) + ' anos daqui a 15 anos')
TypeError: can only concatenate str (not "int") to str
Se verificarmos a linha 08, estamos somando a variável age com o número 15, e isso não é possível. O valor armazenado em age é uma string, lembre-se que o input( ) retorna uma string.
Para podermos converter um valor do tipo string para um valor inteiro, a linguagem Python possui a função int( ). E para converter o valor inteiro para uma string, a função str ( ).
Alterando a última linha para converter a idade de valor string para um valor numérico, somar com 15 e depois converter novamente para uma _string _e ser impresso na tela, nosso código ficará:
#Programa para ler e imprimir nome do usuario
#Solicitando a idade e calculando o valor em 15 anos
print('Digite seu nome:')
name = input()
print('Qual sua idade:')
age = input()
print('Bem vindo ' + name)
print('Voce tera ' + str(int(age) + 15) + ' anos daqui a 15 anos')
E sua execução:
Digite seu nome:
joao
Qual sua idade:
20
Bem vindo joao
Voce tera 35 anos daqui a 15 anos
A função float( ) é similar à função int( ), mas converte o tipo de dado string para o tipo ponto flutuante.
Erros comuns
Não se pode misturar tipos de dados diferentes dos esperados no uso de um operador.
>>> 'tenho ' + 15 + ' anos'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> 'texto 1' * ' texto 2'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'str'
>>> 'texto ' * 5.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'
Cuidado para não errar o nome da variável ao tentar utilizá-la.
>>> mensagem = 'teste'
>>> print(mensage)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'mensage' is not defined. Did you mean: 'mensagem'?
Mantenha consistência no valor de uma string, se você abrir com aspas duplas, então você deve fechar com aspas duplas. Da mesma forma para aspas simples.
Exemplos de erros no shell - consistência no valor de string
>>> mensagem = "Alguma mensagem aqui.'
File "<stdin>", line 1
mensagem = "Alguma mensagem aqui.'
^
SyntaxError: unterminated string literal (detected at line 1)
Top comments (0)