Variáveis e Tipos de Dados em Python
Variáveis
Variáveis são utilizadas para armazenar dados. O nome de uma variável em Python deve começar com um caractere alfabético ou com um sublinhado e pode conter caracteres alfanuméricos e sublinhados. Além disso, o nome da variável não deve coincidir com nenhuma das palavras-chave da linguagem Python. As palavras-chave não são muitas; é fácil memorizá-las:
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
Por exemplo, vamos criar uma variável:
name = "Tom"
Aqui, definimos a variável name
, que armazena a string "Tom"
.
Em Python, utilizam-se dois tipos de nomenclatura de variáveis: camel case e notação underscore.
Camel case implica que cada nova palavra no nome da variável começa com letra maiúscula. Por exemplo:
userName = "Tom"
Notação underscore implica que as palavras no nome da variável são separadas por um sublinhado. Por exemplo:
user_name = "Tom"
Também é importante considerar a sensibilidade a maiúsculas e minúsculas; portanto, as variáveis name
e Name
representarão objetos diferentes.
# duas variáveis diferentes:
name = "Tom"
Name = "Tom"
Depois de definir uma variável, podemos usá-la no programa. Por exemplo, tentar exibir seu conteúdo no console usando a função incorporada print
:
name = "Tom" # definição da variável name
print(name) # exibe o valor da variável name no console
Por exemplo, definição e uso da variável no ambiente PyCharm:
Uma característica distintiva da variável é que podemos alterar seu valor durante a execução do programa:
name = "Tom" # a variável name é igual a "Tom"
print(name) # exibe: Tom
name = "Bob" # alteramos o valor para "Bob"
print(name) # exibe: Bob
Tipos de Dados
Uma variável armazena dados de um dos tipos de dados. Em Python, existem vários tipos de dados diferentes. Neste caso, vamos considerar apenas os tipos mais básicos: bool
, int
, float
, complex
e str
.
Valores Lógicos
O tipo bool
representa dois valores lógicos: True
(verdadeiro) ou False
(falso). O valor True
é usado para indicar que algo é verdadeiro, enquanto o valor False
indica que algo é falso. Exemplos de variáveis deste tipo:
isMarried = False
print(isMarried) # False
isAlive = True
print(isAlive) # True
Números Inteiros
O tipo int
representa um número inteiro, por exemplo, 1, 4, 8, 50. Exemplo:
age = 21
print("Idade:", age) # Idade: 21
count = 15
print("Quantidade:", count) # Quantidade: 15
Por padrão, os números são considerados no sistema decimal. Mas o Python também suporta números nos sistemas binário, octal e hexadecimal.
Para indicar que um número está no sistema binário, prefixamos o número com
0b
:a = 0b11 b = 0b1011 c = 0b100001 print(a) # 3 no sistema decimal print(b) # 11 no sistema decimal print(c) # 33 no sistema decimal
Para indicar que um número está no sistema octal, prefixamos o número com
0o
:a = 0o7 b = 0o11 c = 0o17 print(a) # 7 no sistema decimal print(b) # 9 no sistema decimal print(c) # 15 no sistema decimal
Para indicar que um número está no sistema hexadecimal, prefixamos o número com
0x
:a = 0x0A b = 0xFF c = 0xA1 print(a) # 10 no sistema decimal print(b) # 255 no sistema decimal print(c) # 161 no sistema decimal
É importante notar que, independentemente do sistema em que fornecemos o número para a função print
exibir no console, ele será exibido no sistema decimal por padrão.
Números de Ponto Flutuante
O tipo float
representa números de ponto flutuante, como 1.2 ou 34.76. Como separador entre a parte inteira e a parte decimal, utiliza-se o ponto.
height = 1.68
pi = 3.14
weight = 68.
print(height) # 1.68
print(pi) # 3.14
print(weight) # 68.0
Um número de ponto flutuante pode ser definido em notação exponencial:
x = 3.9e3
print(x) # 3900.0
x = 3.9e-3
print(x) # 0.0039
Um número float
pode ter até 18 dígitos significativos. Neste caso, utilizamos apenas dois dígitos: 3.9. Se o número for muito grande ou muito pequeno, podemos escrevê-lo nessa notação usando um expoente. O número após o expoente indica a potência de 10 pela qual o número base (3.9) deve ser multiplicado.
Números Complexos
O tipo complex
representa números complexos no formato parte_real + parte_imaginária j
, onde após a parte imaginária é especificado o sufixo j
.
complexNumber = 1+2j
print(complexNumber) # (1+2j)
Strings
O tipo str
representa strings. Uma string é uma sequência de caracteres delimitada por aspas simples ou duplas, por exemplo, "hello"
e 'hello'
. No Python 3.x, as strings são conjuntos de caracteres codificados em Unicode.
message = "Hello World!"
print(message) # Hello World!
name = 'Tom'
print(name) # Tom
Se a string tiver muitos caracteres, é possível dividi-la em partes e colocá-las em diferentes linhas de código. Nesse caso, toda a string é colocada entre parênteses, e suas partes individuais são delimitadas por aspas:
text = ("Laudate omnes gentes laudate "
"Magnificat in secula ")
print(text)
Se quisermos definir um texto com várias linhas, podemos colocá-lo entre três aspas duplas ou simples:
'''
Este é um comentário
'''
text = '''Laudate omnes gentes laudate
Magnificat in secula
Et anima mea laudate
Magnificat in secula
'''
print(text)
Ao usar aspas triplas simples, não devemos confundi-las com comentários: se o texto entre aspas triplas simples é atribuído a uma variável, trata-se de uma string, não de um comentário.
Sequências de Escape em Strings
Uma string pode conter vários caracteres especiais, conhecidos como sequências de escape. Algumas delas são:
\\
: permite adicionar uma barra invertida na string.\'
: permite adicionar uma aspas simples na string.\"
: permite adicionar uma aspas duplas na string.\n
: realiza uma quebra de linha.\t
: adiciona uma tabulação (equivalente a 4 espaços).
Exemplo de uso de algumas sequências:
text = "Message:\n\"Hello World\""
print(text)
Saída no console:
Message: "Hello World"
Embora essas sequências possam ser úteis para inserir caracteres especiais em uma string, como aspas, tabulações ou quebras de linha, elas também podem causar problemas. Por exemplo:
path = "C:\python\name.txt"
print(path)
Aqui, a variável path contém um caminho para um arquivo. No entanto, dentro da string, as sequências \n
serão interpretadas como uma quebra de linha. O resultado será:
C:\python ame.txt
Para evitar esse comportamento, adicionamos o prefixo r
antes da string:
path = r"C:\python\name.txt"
print(path)
Inserindo Valores em Strings
O Python permite inserir valores de outras variáveis dentro de uma string. Para isso, colocamos as variáveis entre chaves x{}
dentro da string e adicionamos o prefixo f
antes dela:
userName = "Tom"
userAge = 37
user = f"name: {userName} age: {userAge}"
print(user) # name: Tom age: 37
Neste exemplo, o valor da variável userName será inserido no lugar de {userName}
, e o valor de userAge
substituirá {userAge}
.
Tipagem Dinâmica
O Python é uma linguagem com tipagem dinâmica, o que significa que uma variável não está rigidamente vinculada a um tipo específico.
O tipo de uma variável é determinado com base no valor que lhe é atribuído. Ao atribuir uma string entre aspas simples ou duplas, a variável tem o tipo str
. Ao atribuir um número inteiro, o Python define automaticamente o tipo da variável como int
. Para definir uma variável como um objeto float
, atribuímos a ela um número fracionário, onde o separador decimal é o ponto.
Durante a execução do programa, podemos alterar o tipo de uma variável atribuindo a ela um valor de outro tipo:
userId = "abc" # tipo str
print(userId)
userId = 234 # tipo int
print(userId)
Com a função incorporada type()
, podemos descobrir dinamicamente o tipo atual de uma variável:
userId = "abc" # tipo str
print(type(userId)) # <class 'str'>
userId = 234 # tipo int
print(type(userId)) # <class 'int'>