Python - Tipos de Variáveis
As variáveis nada mais são do que locais de memória reservados para armazenar valores. Isso significa que, ao criar uma variável, você reserva algum espaço na memória.
Com base no tipo de dado de uma variável, o interpretador aloca memória e decide o que pode ser armazenado na memória reservada. Portanto, ao atribuir diferentes tipos de dados às variáveis, você pode armazenar inteiros, decimais ou caracteres nessas variáveis.
Atribuição de valores a variáveis
Variáveis Python não precisam de declaração explícita para reservar espaço de memória. A declaração acontece automaticamente quando você atribui um valor a uma variável. O sinal de igual (=) é usado para atribuir valores às variáveis.
O operando à esquerda do operador = é o nome da variável e o operando à direita do operador = é o valor armazenado na variável. Por exemplo -
#!/usr/bin/python
counter = 100 # An integer assignment
miles = 1000.0 # A floating point
name = "John" # A string
print counter
print miles
print name
Aqui, 100, 1000,0 e "John" são os valores atribuídos às variáveis counter , miles e name , respectivamente. Isso produz o seguinte resultado -
100
1000.0
John
Atribuição múltipla
Python permite que você atribua um único valor a várias variáveis simultaneamente. Por exemplo -
a = b = c = 1
Aqui, um objeto inteiro é criado com o valor 1 e todas as três variáveis são atribuídas ao mesmo local de memória. Você também pode atribuir vários objetos a várias variáveis. Por exemplo -
a,b,c = 1,2,"john"
Aqui, dois objetos inteiros com valores 1 e 2 são atribuídos às variáveis aeb respectivamente, e um objeto string com o valor "john" é atribuído à variável c.
Tipos de dados padrão
Os dados armazenados na memória podem ser de vários tipos. Por exemplo, a idade de uma pessoa é armazenada como um valor numérico e seu endereço é armazenado como caracteres alfanuméricos. Python tem vários tipos de dados padrão que são usados para definir as operações possíveis neles e o método de armazenamento para cada um deles.
Python tem cinco tipos de dados padrão -
- Numbers
- String
- List
- Tuple
- Dictionary
Números Python
Os tipos de dados numéricos armazenam valores numéricos. Objetos de número são criados quando você atribui um valor a eles. Por exemplo -
var1 = 1
var2 = 10
Você também pode excluir a referência a um objeto de número usando a instrução del. A sintaxe da instrução del é -
del var1[,var2[,var3[....,varN]]]]
Você pode excluir um único objeto ou vários objetos usando a instrução del. Por exemplo -
del var
del var_a, var_b
Python suporta quatro tipos numéricos diferentes -
- int (inteiros com sinal)
- long (inteiros longos, eles também podem ser representados em octal e hexadecimal)
- float (valores reais de ponto flutuante)
- complexo (números complexos)
Exemplos
Aqui estão alguns exemplos de números -
int | grandes | flutuador | complexo |
---|---|---|---|
10 | 51924361L | 0,0 | 3,14j |
100 | -0x19323L | 15,20 | 45.j |
-786 | 0122L | -21,9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32,3 + e18 | .876j |
-0490 | 535633629843L | -90. | -.6545 + 0J |
-0x260 | -052318172735L | -32.54e100 | 3e + 26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
Python permite que você use um l minúsculo com long, mas é recomendado que você use apenas um L maiúsculo para evitar confusão com o número 1. Python exibe inteiros longos com um L maiúsculo.
Um número complexo consiste em um par ordenado de números reais de ponto flutuante denotados por x + yj, onde xey são os números reais ej é a unidade imaginária.
Python Strings
Strings em Python são identificadas como um conjunto contíguo de caracteres representados entre aspas. Python permite pares de aspas simples ou duplas. Subconjuntos de strings podem ser obtidos usando o operador slice ([] e [:]) com índices começando em 0 no início da string e trabalhando de -1 no final.
O sinal de mais (+) é o operador de concatenação de string e o asterisco (*) é o operador de repetição. Por exemplo -
#!/usr/bin/python
str = 'Hello World!'
print str # Prints complete string
print str[0] # Prints first character of the string
print str[2:5] # Prints characters starting from 3rd to 5th
print str[2:] # Prints string starting from 3rd character
print str * 2 # Prints string two times
print str + "TEST" # Prints concatenated string
Isso produzirá o seguinte resultado -
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
Listas Python
As listas são os mais versáteis dos tipos de dados compostos do Python. Uma lista contém itens separados por vírgulas e colocados entre colchetes ([]). Até certo ponto, as listas são semelhantes às matrizes em C. Uma diferença entre elas é que todos os itens pertencentes a uma lista podem ser de tipos de dados diferentes.
Os valores armazenados em uma lista podem ser acessados usando o operador de fatia ([] e [:]) com índices começando em 0 no início da lista e trabalhando para terminar -1. O sinal de mais (+) é o operador de concatenação de lista e o asterisco (*) é o operador de repetição. Por exemplo -
#!/usr/bin/python
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # Prints complete list
print list[0] # Prints first element of the list
print list[1:3] # Prints elements starting from 2nd till 3rd
print list[2:] # Prints elements starting from 3rd element
print tinylist * 2 # Prints list two times
print list + tinylist # Prints concatenated lists
Isso produz o seguinte resultado -
['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']
Python Tuples
Uma tupla é outro tipo de dados de sequência semelhante à lista. Uma tupla consiste em vários valores separados por vírgulas. Ao contrário das listas, no entanto, as tuplas são colocadas entre parênteses.
As principais diferenças entre listas e tuplas são: As listas são colocadas entre colchetes ([]) e seus elementos e tamanho podem ser alterados, enquanto as tuplas são colocadas entre parênteses (()) e não podem ser atualizadas. Tuplas podem ser consideradas comoread-onlylistas. Por exemplo -
#!/usr/bin/python
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # Prints the complete tuple
print tuple[0] # Prints first element of the tuple
print tuple[1:3] # Prints elements of the tuple starting from 2nd till 3rd
print tuple[2:] # Prints elements of the tuple starting from 3rd element
print tinytuple * 2 # Prints the contents of the tuple twice
print tuple + tinytuple # Prints concatenated tuples
Isso produz o seguinte resultado -
('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')
O código a seguir é inválido com tupla porque tentamos atualizar uma tupla, o que não é permitido. Caso semelhante é possível com listas -
#!/usr/bin/python
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # Invalid syntax with tuple
list[2] = 1000 # Valid syntax with list
Dicionário Python
Os dicionários do Python são do tipo tabela hash. Eles funcionam como matrizes associativas ou hashes encontrados em Perl e consistem em pares de valores-chave. Uma chave de dicionário pode ser quase qualquer tipo Python, mas geralmente são números ou strings. Os valores, por outro lado, podem ser qualquer objeto Python arbitrário.
Os dicionários são colocados entre colchetes ({}) e os valores podem ser atribuídos e acessados usando colchetes ([]). Por exemplo -
#!/usr/bin/python
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # Prints value for 'one' key
print dict[2] # Prints value for 2 key
print tinydict # Prints complete dictionary
print tinydict.keys() # Prints all the keys
print tinydict.values() # Prints all the values
Isso produz o seguinte resultado -
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
Os dicionários não têm conceito de ordem entre os elementos. É incorreto dizer que os elementos estão "fora de ordem"; eles são simplesmente desordenados.
Conversão de Tipo de Dados
Às vezes, você pode precisar realizar conversões entre os tipos integrados. Para converter entre tipos, você simplesmente usa o nome do tipo como uma função.
Existem várias funções integradas para realizar a conversão de um tipo de dados para outro. Essas funções retornam um novo objeto que representa o valor convertido.
Sr. Não. | Descrição da função |
---|---|
1 | int(x [,base]) Converte x em um inteiro. base especifica a base se x for uma string. |
2 |
long(x [,base] ) Converte x em um inteiro longo. base especifica a base se x for uma string. |
3 |
float(x) Converte x em um número de ponto flutuante. |
4 |
complex(real [,imag]) Cria um número complexo. |
5 |
str(x) Converte o objeto x em uma representação de string. |
6 |
repr(x) Converte o objeto x em uma string de expressão. |
7 |
eval(str) Avalia uma string e retorna um objeto. |
8 |
tuple(s) Converte s em uma tupla. |
9 |
list(s) Converte s em uma lista. |
10 |
set(s) Converte s em um conjunto. |
11 |
dict(d) Cria um dicionário. d deve ser uma sequência de tuplas (chave, valor). |
12 |
frozenset(s) Converte s em um conjunto congelado. |
13 |
chr(x) Converte um número inteiro em um caractere. |
14 |
unichr(x) Converte um número inteiro em um caractere Unicode. |
15 |
ord(x) Converte um único caractere em seu valor inteiro. |
16 |
hex(x) Converte um número inteiro em uma string hexadecimal. |
17 |
oct(x) Converte um número inteiro em uma string octal. |