Introdução
Neste laboratório, você aprenderá como determinar se um número em Python é um inteiro (integer) ou um ponto flutuante (float). O laboratório começa diferenciando entre inteiros e floats, destacando suas características principais e fornecendo exemplos.
Em seguida, você explorará dois métodos para verificar o tipo de dado de um número: usando a função isinstance() com int e usando a função type() para precisão. Através de exercícios práticos, você criará um script Python para identificar e distinguir entre os tipos de dados inteiro e ponto flutuante, solidificando sua compreensão da verificação de tipos de dados em Python.
Diferenciar Inteiros e Floats
Nesta etapa, você aprenderá a diferenciar entre dois tipos de dados fundamentais em Python: inteiros e floats. Compreender a diferença é crucial para realizar cálculos precisos e manipulação de dados.
Inteiros (int)
Inteiros são números inteiros, positivos ou negativos, sem casas decimais. Exemplos incluem -3, 0, 5, 100.
Floats (float)
Floats, ou números de ponto flutuante, são números que contêm uma casa decimal. Eles também podem representar números em notação científica. Exemplos incluem -2.5, 0.0, 3.14, 1.0e5 (que é 100000.0).
Vamos começar criando um script Python para explorar esses tipos de dados.
Abra o editor VS Code no ambiente LabEx.
Crie um novo arquivo chamado
datatypes.pyno diretório~/project.touch ~/project/datatypes.pyAbra o arquivo
datatypes.pyno editor e adicione o seguinte código Python:## Atribui um inteiro à variável 'integer_number' integer_number = 10 ## Atribui um float à variável 'float_number' float_number = 10.0 ## Imprime os valores e seus tipos print("Integer:", integer_number, "Type:", type(integer_number)) print("Float:", float_number, "Type:", type(float_number))Salve o arquivo
datatypes.py.Execute o script usando o comando
pythonno terminal:python ~/project/datatypes.pyVocê deve ver a seguinte saída:
Integer: 10 Type: <class 'int'> Float: 10.0 Type: <class 'float'>Esta saída mostra claramente que
integer_numberé do tipointefloat_numberé do tipofloat.Agora, vamos realizar uma operação aritmética simples para ver como o Python lida com esses tipos:
Modifique o arquivo
datatypes.pypara incluir o seguinte:## Atribui um inteiro à variável 'integer_number' integer_number = 10 ## Atribui um float à variável 'float_number' float_number = 10.0 ## Imprime os valores e seus tipos print("Integer:", integer_number, "Type:", type(integer_number)) print("Float:", float_number, "Type:", type(float_number)) ## Adiciona um inteiro e um float sum_result = integer_number + float_number ## Imprime o resultado e seu tipo print("Sum:", sum_result, "Type:", type(sum_result))Salve o arquivo
datatypes.py.Execute o script novamente:
python ~/project/datatypes.pyVocê deve ver a seguinte saída:
Integer: 10 Type: <class 'int'> Float: 10.0 Type: <class 'float'> Sum: 20.0 Type: <class 'float'>Observe que, quando você adiciona um inteiro e um float, o resultado é um float. Isso ocorre porque o Python converte automaticamente o inteiro em um float para manter a precisão.
Usar isinstance() com int
Nesta etapa, você aprenderá como usar a função isinstance() para verificar se uma variável é um inteiro. Esta função é uma ferramenta poderosa para verificar tipos de dados em Python.
A função isinstance() recebe dois argumentos:
- A variável que você deseja verificar.
- O tipo de dado que você deseja verificar (por exemplo,
int,float,str).
Ela retorna True se a variável for do tipo especificado e False caso contrário.
Vamos modificar o arquivo datatypes.py da etapa anterior para incluir a função isinstance().
Abra o arquivo
datatypes.pyno editor VS Code.Adicione o seguinte código ao arquivo:
## Atribui um inteiro à variável 'integer_number' integer_number = 10 ## Atribui um float à variável 'float_number' float_number = 10.0 ## Imprime os valores e seus tipos print("Integer:", integer_number, "Type:", type(integer_number)) print("Float:", float_number, "Type:", type(float_number)) ## Adiciona um inteiro e um float sum_result = integer_number + float_number ## Imprime o resultado e seu tipo print("Sum:", sum_result, "Type:", type(sum_result)) ## Verifica se integer_number é um inteiro is_integer = isinstance(integer_number, int) print("Is integer_number an integer?", is_integer) ## Verifica se float_number é um inteiro is_integer = isinstance(float_number, int) print("Is float_number an integer?", is_integer)Salve o arquivo
datatypes.py.Execute o script usando o comando
pythonno terminal:python ~/project/datatypes.pyVocê deve ver a seguinte saída:
Integer: 10 Type: <class 'int'> Float: 10.0 Type: <class 'float'> Sum: 20.0 Type: <class 'float'> Is integer_number an integer? True Is float_number an integer? FalseComo você pode ver,
isinstance(integer_number, int)retornaTrueporqueinteger_numberé de fato um inteiro.isinstance(float_number, int)retornaFalseporquefloat_numberé um float, não um inteiro.
Esta função é particularmente útil quando você precisa realizar diferentes ações com base no tipo de dado de uma variável. Por exemplo, você pode querer realizar a divisão inteira se uma variável for um inteiro e a divisão de ponto flutuante se for um float.
Verificar com type() para Precisão
Nesta etapa, você explorará como a função type() pode ser usada para entender a precisão dos números em Python. Enquanto isinstance() verifica se uma variável pertence a um tipo específico, type() retorna o tipo real da variável. Isso é útil para entender como o Python lida com diferentes operações numéricas e sua precisão resultante.
Vamos continuar modificando o arquivo datatypes.py para demonstrar isso.
Abra o arquivo
datatypes.pyno editor VS Code.Adicione o seguinte código ao arquivo:
## Atribui um inteiro à variável 'integer_number' integer_number = 10 ## Atribui um float à variável 'float_number' float_number = 10.0 ## Imprime os valores e seus tipos print("Integer:", integer_number, "Type:", type(integer_number)) print("Float:", float_number, "Type:", type(float_number)) ## Adiciona um inteiro e um float sum_result = integer_number + float_number ## Imprime o resultado e seu tipo print("Sum:", sum_result, "Type:", type(sum_result)) ## Verifica se integer_number é um inteiro is_integer = isinstance(integer_number, int) print("Is integer_number an integer?", is_integer) ## Verifica se float_number é um inteiro is_integer = isinstance(float_number, int) print("Is float_number an integer?", is_integer) ## Realiza a divisão com inteiros division_result = integer_number / 3 print("Division result:", division_result, "Type:", type(division_result)) ## Realiza a divisão inteira com inteiros integer_division_result = integer_number // 3 print("Integer division result:", integer_division_result, "Type:", type(integer_division_result))Salve o arquivo
datatypes.py.Execute o script usando o comando
pythonno terminal:python ~/project/datatypes.pyVocê deve ver a seguinte saída:
Integer: 10 Type: <class 'int'> Float: 10.0 Type: <class 'float'> Sum: 20.0 Type: <class 'float'> Is integer_number an integer? True Is float_number an integer? False Division result: 3.3333333333333335 Type: <class 'float'> Integer division result: 3 Type: <class 'int'>Observe o seguinte:
- Quando você divide dois inteiros usando o operador
/, o resultado é um float, mesmo que o resultado seja um número inteiro. Isso ocorre porque o Python visa fornecer o resultado mais preciso possível. - Quando você usa o operador
//(divisão inteira), o resultado é um inteiro, descartando qualquer parte fracionária.
- Quando você divide dois inteiros usando o operador
Compreender essas nuances é crucial para escrever código Python preciso e eficiente, especialmente ao lidar com cálculos numéricos.
Resumo
Neste laboratório, você aprendeu a diferenciar entre inteiros e floats em Python. Inteiros são números inteiros sem casas decimais, enquanto floats são números que contêm uma casa decimal. Você criou um script Python para atribuir valores inteiros e float a variáveis e, em seguida, imprimiu seus valores junto com seus respectivos tipos usando a função type(). A saída demonstrou que as variáveis atribuídas a números inteiros são do tipo int, e aquelas com casas decimais são do tipo float.



