Aprenda os fundamentos do Python em 30 Dias — Dia 2 (Números)
Original: medium.com – devops-challenge
Números
Python tem vários tipos de números
– Inteiros: são apenas números inteiros (positivos ou negativos, por exemplo: 1 ou -1)
– Ponto flutuante: Com ponto decimal neles (por exemplo: 1.0 ou -1.1)
– Bool: Representar valores booleanos True e False (Importante quando queremos testar algo)
– Nenhum Tipo: Especial e tem um valor, None
Podemos usar type()
para ver o tipo de um objeto
>>> type(1) <class ‘int’> >>> type(1.0) <class ‘float’> >>> type(True) <class ‘bool’> >>> type(None) <class ‘NoneType’>
Operações aritméticas
Adição
>>> 1+1 2
Nota: Se tentarmos adicionar int
com float
o rsultado será do tipo float
>>> 1 + 2.0 3.0
Subtração
>>> 2–1 1
Multiplication
>>> 2 * 3 6
Division
>>> 3/2 1.5
NOTA: No caso de você estar usando Python2
>>> 3/2 1
A razão para esta resposta inesperada da divisão é:
– Python 2, o ponto decimal é truncado e é chamada de divisão clássica;
– Python 3 é chamada de divisão verdadeira.
Há maneiras diferentes de corrigir esse problema em Python2
Especifique um do número para ser um ponto flutuante float
>>> 3.0/2 1.5 >>> 3/2.0 1.5
Também podemos lançar cast
o tipo de função que basicamente transforma um int
(inteiro) em float
(ponto flutuante).
>>> float(3)/2 1.5
A maneira de converter um int
para float
, é feita do mesmo modo usado para converter um float
em int
>>> int(2.9) 2
NOTA:
– O Python não tenta converter (arredondar) para o inteiro mais próximo, apenas trunca a parte decimal;
– Também é possível a importação de um módulo chamado future
(através da importação desse módulo estamos importando as funções do Python3 para o Python2)
>>> from __future__ import division >>> 3/2 1.5
NOTA: Discutiremos mais sobre os módulos e funções em um capítulo futuro, então não se preocupe se você não compreendê-lo muito bem, neste momento eles não são o escopo de aprendizagem.
Módulo
O operador módulo %
retorna o resto da divisão
>>> 5%2 1
Exponenciação
>>> 3**2 9
Existem algumas funções comuns incorporadas (built-in functions)
>>> pow(2,4) 16
Para retornar um valor absoluto
>>> abs(-4) 4
Para arredondar um número para uma dada precisão em dígitos decimais (default 0 digits)
>>> round(1.2345) 1 >>> round(1.2345,2) 1.23
Para mais informações, consulte: 9.2. math – Mathematical functions – Python 3.6.1 documentation
Operações Simples
- Parênteses usados para dizer Python para fazer essas operações primeiro
- Prioridade dos operadores sem parênteses
- **
- *
- /
-
- E –
O Python executa da esquerda para a direita, conforme aparecem na expressão
>>> 2*5 + 1 11 >>> 2*(5+1) 12 >>> 2 + 5 * 6 +3 35 >>> (2 + 5) * (6 +3) 63
https://blog.dominodatalab.com/video-huge-debate-r-vs-python-data-science/
Atribuições de variáveis
Para atribuir valor para uma variável em Python use o operador =
.
>>> x = 1 >>> x >>> x + 2 3
O que estamos fazendo aqui é criar um objeto (tudo em Python é um objeto) chamado x e atribuir o número 1
Alguns pontos a observar:
– O valor de x é armazenado na memória do computador
– O operador =
(Atribuição) vincula o nome ao valor
– Recuperar valor associado ao nome ou variável invocando o nome ou digitando x
>>> pi = 3,14 >>> raio = 1,1 >>> área = pi * (raio ** 2) Área 3.7994000000000008
Então agora a pergunta é: por que estamos fazendo tudo isso? quais são as vantagens dessa desta abordagem?
- Podemos reutilizar nomes em vez de valores
- É mais fácil alterar o código mais tarde
>>> raio = raio + 2 >>> raio 3.1
- Podemos vincular nomes de variáveis usando novas instruções de
atribuição - Os valores anteriores ainda podem ser armazenados na memória, mas
perderam a alça por ela (o Python Garbage Collector cuidará do
trabalho limpo)
Exercício
DEtermine qual deve ser o resultado das expressões a seguir:
1 + 5 -3
3 * 4,0
-3
- Tente descobrir a diferença nos resultados das expressões
7/3
ou7.0 / 3
ou7 / 3.0
? - Qual é a diferença no resultado de
(1 + 2) * 3
ou1 + 2 * 3
2 ** 3
- Se
a = 5
, qual a saída dea = a + 1
- Se
a = 1
qual é o resultado dea + b
- Qual é a diferença quando se tenta arredondar
round(-1.27,1)
vsround(1.27,1)
- Mais truques com arredondamento verificar a saída
round(3.5)
vsround(4.5)
e tente descobrir: o que exatamente acontece? - Mais truques com arredondamento, verifique a saída de
round(1234567, -1)
vsround(1234567, -2)
vsround(1234567, -3)
Solução para todos estes problemas disponíveis no Dia3, por enquanto, continue tentando 🙂
Respostas: https://github.com/lakhera2016/Learn-Python-Fundamental-in-30-Days/tree/master/Day2-Numbers
Final da lição do Dia 02, Em caso de dúvidas ou qualquer outra discussão, este é o link para o canal (Comunicação somente em Inglês – english only) Python Slack channel http://devops-myworld.slack.com
- Copyright – Learn Python Fundamental in 30 Days — (Introduction to Python)[medium.com – devops-challenge] http://medium.com/devops-challenge *
Deixe um comentário