Operadores e Operandos

Operadores são símbolos especiais que representam computações como adição, multiplicação e divisão. Os valores sobre os quais o operador trabalha são chamados de operandos.

Todas as expressões abaixo são válidas em Python, cujo significado é mais ou menos óbvio:

20 + 32
hora - 1
hora * 60 + minuto
5 ** 2
(5 + 9) * (15 - 7)

Os símbolos +, -, e *, e o uso de parênteses para agrupamento, significam em Python o mesmo que na matemática. O asterisco (*) é o símbolo para multiplicação, e ** é o símbolo para exponenciação. Adição, subtração, multiplicação e exponenciação fazem exatamente o que você espera.

 
1
print(2 + 3)
2
print(2 - 3)
3
print(2 * 3)
4
print(2 ** 3)
5
print(3 ** 2)
6

(ch02_15)

Quando um nome de variável aparece no lugar de um operando, ela é trocada pelo valor a que a variável se refere antes da operação ser realizada. Por exemplo, suponha que desejamos converter 645 minutos no equivalente em horas. Em Python 3, a divisão é indicada pelo símbolo /, que sempre resulta em um número float.

4
 
1
minutos = 645
2
horas = minutos / 60
3
print(horas)
4

(ch02_16)

E se agora desejássemos saber quantas horas cheias e minutos restantes havia em 645 minutos? Para ajudar nesse tipo de questão, Python nos fornece um segundo tipo de operador de divisão. Essa versão, chamada divisão inteira, usa o operador //. Ela sempre trunca o resultado para o menor inteiro mais próximo.

6
 
1
print(7 / 4)
2
print(7 // 4)
3
minutos = 645
4
horas = minutos // 60
5
print(horas)
6

(ch02_17)

Olhe cuidadosamente os primeiros dois exemplos acima: observe que o resultado da divisão real é 1.75, mas o resultado da divisão inteira é simplesmente 1. Tome cuidado ao escolher o operador correto, dependendo do caso. Se você está trabalhando com expressões onde precisa de números reais, use o operador /. Se você deseja um resultado inteiro, use //.

O operador resto (modulus) trabalha em inteiros (e em expressões inteiras) e fornece o resto da divisão inteira do primeiro operando pelo segundo. Em Python, o operador resto é o sinal de porcentagem (%). A sintaxe é a mesma da dos outros operadores.

5
 
1
quociente = 7 // 3     # Divisão inteira
2
print(quociente)
3
resto = 7 % 3
4
print(resto)
5

(ch02_18)

Assim, 7 dividido por 3 é 2 quando usamos divisão inteira e o resto é 1.

O operador resto é surpreendentemente útil. Por exemplo, Por exemplo, você pode verificar se um número é divisível por outro—se x % y é zero, então x é divisível por y. Além disso, você pode extrair o dígito ou dígitos mais à direita de um número: x % 10 resulta no dígito mais à direita de x (unidade). De forma similar, x % 100 retorna os últimos dois dígitos (dezena e unidade).

Finalmente, retornando ao nosso exemplo dos minutos, o operador resto é extremamente útil para fazer conversões, digamos, de segundos para horas, minutos e segundos.

Se partirmos de um número qualquer de segundos (7684), o programa a seguir usa divisão inteira e resto para converter esse número para HH:MM:SS. Execute o programa passo a passo para ter certeza que você entendeu como os operadores são usados para calcular os valores corretos.

Python 3.3
1total_segs = 7684
2horas = total_segs // 3600
3segs_restantes = total_segs % 3600
4minutos =  segs_restantes // 60
5segs_ainda_restantes = segs_restantes  % 60
Step 1 of 5
line that has just executed

next line to execute

Visualized using Online Python Tutor by Philip Guo
Frames
Objects

(ch02_19_codelens)

Teste seu entendimento

data-7-1: Qual valor é exibido pelo seguinte comando?

print(18 / 4)





data-7-2: Qual valor é exibido pelo seguinte comando?

print(18 // 4)





data-7-3: Qual valor é exibido pelo seguinte comando?

print(18 % 4)





Next Section - Entrada