Python Tutorial - Variáveis e Tipos de Dados

  1. Variável Python
  2. Tipo de Dados Python

Nesta seção, você aprenderá variáveis e tipos de dados na programação Python.

Variável Python

Uma variável é uma localização de memória que tem um nome e um valor (alguns dados).

As variáveis têm nomes únicos para que as localizações de memória possam ser diferenciadas. Elas têm as mesmas regras de nomenclatura a seguir que as dos identificadores. Verifique regras de nomenclatura dos identificadores.

Em Python, não é necessário declarar uma variável (especificando o tipo de dados) antes de usar essa variável. Se você quiser criar uma variável, basta escrever um nome válido para a variável e atribuir-lhe algum valor usando o operador de atribuição. O tipo de dados da variável será definido internamente de acordo com o tipo de valor que o usuário atribui a ela.

Atribuição de variável

Um operador de atribuição = é utilizado para atribuir um valor a uma variável. Você pode atribuir qualquer tipo de valor a uma variável. O tipo de dados da variável será definido internamente.

O código a seguir demonstra como um operador de atribuição pode ser utilizado para atribuir valores de diferentes tipos de dados:

x = 3
y = 4.124
z = "Python"

Aqui você tem variáveis int, float e string.

Atribuições múltiplas

Você também pode atribuir valores a múltiplas variáveis em uma única instrução Python. Isso é chamado de atribuições múltiplas. Considere o código abaixo:

x, y, z = 2, 4.124, "Python"

Aqui 2 é atribuído a x, 4.124 é atribuído a y e a string "Python" é atribuída a z.

Se você quiser atribuir o mesmo valor a variáveis diferentes, você pode escrever:

x = y = z = "Blue"

Agora todas as três variáveis são iguais.

Atenção

Não é uma boa prática atribuir uma lista a duas variáveis como acima. Ambas apontam para a mesma localização de memória, portanto, se o valor é modificado por uma variável, todas as outras também são imperceptivelmente modificadas. Você pode encontrar algum comportamento estranho se você não estiver ciente disso.

Tipo de Dados Python

Sempre que você atribui um valor a uma variável, o tipo de dado da variável também é especificado. Python é uma programação orientada a objetos, e tudo em Python é um objeto porque Python não tem tipos primitivos ou unboxed.

Em Python, os tipos de dados das variáveis são na verdade classes de quais variáveis são as instâncias (objetos).

A seguir estão alguns dos tipos de dados em Python:

Números

Números como números inteiros, ponto flutuante e números complexos são números Python. Em Python, os números inteiros são representados por int, pontos flutuantes por float e números complexos por complex classe.

A função embutida type() pode ser utilizada para verificar o tipo de dados de uma variável ou a qual classe uma variável pertence.

A função isinstance() é utilizada para verificar se o objeto é uma instância da classe específica ou uma subclasse da mesma. Seu primeiro argumento é o próprio objeto e o segundo é o tipo de dado com o qual ele deve ser comparado.

x = 3
print("type of", x, "is", type(x))
x = 3.23
print("type of", x, "is", type(x))
x = 3+3j
print("is", x, "a complex number:", isinstance(x, complex))
type of 3 is <class 'int'>
type of 3.23 is <class 'float'>
is (3+3j) a complex number: True

Lista

Uma lista é uma sequência ordenada de elementos de (diferentes) tipos de dados. Uma lista pode ser criada em Python utilizando colchetes [] e dentro de colchetes você tem itens de lista que são separados por vírgulas.

x = [2, 4.5, "blue"]

Para acessar o membro da lista você pode utilizar o operador de acesso ao índice que em Python é conhecido como operador de fatiamento []. A indexação dos elementos da lista começa a partir de 0. Considere o exemplo abaixo:

x = [2, 4, 6, 8, 10]
print('x[0] =', x[0])			#displays the first element
print('x[0:2] =', x[0:2])		#displays first two elements of list that is at location 0 and 1
print('x[2:] =', x[2:])			#displays elements from location 2 (third element)
x[0] = 2
x[0:2] = [2, 4]
x[2:] = [6, 8, 10]

Os itens da lista Python podem ser alterados (atualizados, excluídos, adicionados). Em outras palavras, a lista Python é mutável.

Nota

As listas são mutáveis.

Tuple

Tuple é também uma lista ordenada de itens da mesma forma que a lista. A única diferença entre um tuple e uma lista é que o elemento tuple é imutável.

Você pode definir um tuple Python usando parênteses e os elementos são separados por vírgulas:

x = (3, 'pink', 3+8j)
print('x[0] =', x[0])
print('x[0:2] =', x[0:2])
x[0] = 4			#Error because tuples are immutable
x[0] = 3
x[0:2] = (3, 'pink')
TypeError: 'tuple' object does not support item assignment
Nota

Os tuplos são imutáveis.

Cordão

Uma string é uma sequência de caracteres. Uma string pode ser criada usando aspas simples ou duplas. Uma string com várias linhas também pode ser criada usando aspas triplas.

x = "String of characters"
x = """Multiline
string"""

Para acessar caracteres de operador de corte de string é usado.

x = 'Python Programming'
print('x[0] =', x[0])
print('x[4:15] =', x[4:15])
x[4] = 'l'			#Error because strings are immutable
x[0] = P
x[4:15] = on Programm
TypeError: 'str' object does not support item assignment
Nota

As strings também são imutáveis.

Conjunto

O array contém itens únicos e é uma lista não ordenada de elementos. Um array em Python pode ser criado usando braceletes encaracolados {} e os itens são separados por vírgulas.

x = {3, 5, 7, 2, 4, 5}		
print(x)		#prints the set variable 
print(type(x))		#checking type of x
{2, 3, 4, 5, 7}
<class 'set'>
Nota

Os conjuntos são mutáveis.

Dicionário

O dicionário é um tipo de dado nativo Python cujos elementos são pares de valores-chave. Um dicionário contém elementos não ordenados. Um pedaço de dado ou valor do dicionário pode ser recuperado se você conhecer a chave.

Um dicionário pode ser criado usando braçadeiras de caracóis {} com cada elemento a ser um par contendo chave e valor.

As chaves e valores no dicionário Python podem ser de qualquer tipo.

Considere o exemplo abaixo:

x = {1:'blue', 'key':'pink'}
print(type(x))
print('x[1] = ', x[1])		#using key to retrive value
print("x['key'] =", x['key']) #using key to retrive value
<class 'dict'>
x[1] =  blue
x['key'] = pink
Nota

O dicionário é mutável.

Conversão de tipo

Variáveis Python podem ser convertidas em outros tipos, por exemplo, você pode converter o tipo de dados int em tipo de dados float. Para conversão de tipos, você pode utilizar funções de conversão como int(), float(), str(), etc.

x = 8
print("Value of x = ", int(x))
print("Value of x = ", float(x))
Value of x =  8
Value of x =  8.0

Se você quiser converter o valor float para o valor int então a parte decimal será truncada.

y = 3.4
print("Converting float to int:", int(y))
Converting float to int: 3

Se você quiser converter o tipo de dados string para outro tipo, você deve fornecer valores compatíveis, caso contrário você receberá um ValueError:

print("Converting string to float:", float('33.9'))
print("Converting string to float:", float('text'))
Converting string to float: 33.9
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    float('a')
ValueError: could not convert string to float: text

Você pode converter uma seqüência em outra, por exemplo, set para um tuple ou um string para list e assim por diante utilizando funções como list(), set(), tuple(), etc.

print(set([4, 5, 6]))
print(tuple({8, 9, 10}))
print(list('Python'))
{4, 5, 6}
(8, 9, 10)
['P', 'y', 't', 'h', 'o', 'n']