Valores e Tipos de Dados¶
Um valor é uma das coisas fundamentais – como uma palavra ou um número —
que um programa manipula. Os valores que já vimos são 5
(o
resultado quando adicionamos 2 + 3
), e "Olá, mundo!"
. Frequente nos referimos a esses valores como objetos e usaremos as palavras valor e objeto indiscriminadamente.
Note
Na verdade, o 2 e o 3 que são parte da adição acima também são valores (objetos).
Esses objetos são classificados em diferentes classes, ou tipos de dados:4
é um inteiro, e "Olá, Mundo!"
é uma string (cadeia de caracteres), assim chamada porque
contém uma sequência de letras ou símbolos. Você (e o interpretador) podem identificar strings
porque elas estão entre aspas.
Se você não está seguro sobre a classe a que pertence um valor, Python tem uma função chamada type que lhe informa isso:
Não é surpresa que as strings pertençam à classe str e inteiros pertençam à classe int.
Note
Quando mostramos o valor de uma string usando a função print
, como no terceiro exemplo acima, as aspas não estão presentes. O valor
da string é a sequência de caracteres dentro das aspas. As aspas são necessárias apenas para delimitar a string.
No shell de Python, não é necessário usar a função print
para ver os valores acima. O shell executa a função e automaticamente exibe o resultado. Por exemplo, considere a sessão de shell abaixo: quando
pedimos para o shell executar type("Hello, World!")
, ele responde com a resposta apropriada e continua exibindo o prompt para o próximo uso.
Python 3.1.2 (r312:79360M, Mar 24 2010, 01:33:18)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> type("Olá, Mundo!")
<class 'str'>
>>> type(17)
<class 'int'>
>>> "Olá, Mundo!"
'Olá, Mundo!'
>>>
Observe que no último exemplo, nós simplesmente pedimos ao shell para avaliar a string “Olá, Mundo!”. O resultado é o que esperamos: a própria string.
Continuando com nossa discussão de tipos de dados, números com um ponto decimal pertencem a uma classe denominada float, porque esses números estão representados em um formato chamado ponto flutuante.
E se usarmos valores como "17"
e "3.2"
? Eles parecem números, mas estão
entre aspas, como strings.
É claro, eles são strings!
Strings em Python podem estar entre apóstrofos ('
) ou aspas
("
), ou três de cada ('''
ou """
)
Strings entre aspas podem conter apóstrofos dentro delas, como em "Isto é um apóstrofo: '"
,
e strings entre apóstrofos podem conter aspas dentro delas, como em
'Os cavaleiros que dizem "Ni!"'
.
Strings delimitadas por 3 aspas ou apóstrofos são chamadas de strings triplas (triple quoted strings)
Elas podem conter aspas, apóstrofos ou qualquer string entre elas:
Strings triplas podem inclusive se estender por várias linhas:
Python não se importa se você usa aspas ou apóstrofos ou strings triplas. Uma vez que tenha interpretado corretamente o texto, a forma como este é armazenado é igual em todos os casos, e os delimitadores não fazer parte do valor.
Verifique seu entendimento
-
data-2-1: Como você pode determinar o tipo de uma variável?
- Exiba o valor e determine o tipo de dado baseado no valor exibido.
- Você pode tentar determinar o tipo de dado baseado no valor exibido, mas isso pode enganar em alguns casos.
- Use a função type.
- A função type nos informa o tipo do valor.
- Use em uma equação conhecida e exiba o resultado.
- Somente valores numéricos podem ser usados em equações.
- Olhe para a declaração da variável.
- Variáveis não são declaradas em Python.
-
data-2-2: Qual é o tipo de dado de ‘Isto é qual tipo de dado’?
- Caractere
- Não é um único caractere.
- Inteiro
- O valor não é numérico.
- Ponto flutuante
- O valor não é numérico com ponto decimal.
- String
- Strings podem estar entre apóstrofos.