Aprenda os fundamentos do Python em 30 Dias  —  Dia 2 (Números)

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

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?

>>> raio = raio + 2
>>> raio
3.1

Exercício

DEtermine qual deve ser o resultado das expressões a seguir:

  1. 1 + 5 -3
  2. 3 * 4,0
  3. -3
  4. Tente descobrir a diferença nos resultados das expressões 7/3 ou 7.0 / 3 ou 7 / 3.0?
  5. Qual é a diferença no resultado de (1 + 2) * 3 ou 1 + 2 * 3
  6. 2 ** 3
  7. Se a = 5, qual a saída de a = a + 1
  8. Se a = 1 qual é o resultado de a + b
  9. Qual é a diferença quando se tenta arredondar round(-1.27,1) vs round(1.27,1)
  10. Mais truques com arredondamento verificar a saída round(3.5) vs round(4.5) e tente descobrir: o que exatamente acontece?
  11. Mais truques com arredondamento, verifique a saída de round(1234567, -1) vs round(1234567, -2) vs round(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


Avatar de zrhans

Posted by

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Site criado com WordPress.com.

%d blogueiros gostam disto: