Luiz Cláudio Theodoro
FACOM - UFU
2016
num = 10
num = 20
num = num + 12
print(num)
O nome das variáveis deve seguir algumas regras. São permitidos:
>>> x = 2
>>> print(x)
2
>>> z = "Hello!"
>>> print(z)
Hello!
>>> 1x = 2
File "<stdin>", line 1
1x = 2
^
SyntaxError: invalid syntax
>>> raiz quadrada = 2.5
File "<stdin>", line 1
raiz quadrada = 2.5
^
SyntaxError: invalid syntax
Não pode: conter espaços, começar com números ou ser uma palavra reservada.
Alguns nomes são pré-definidos e utilizados pelo interpretador. Ou seja, eles já existem por padrão na linguagem e você não pode nomear outras informações com esses nomes.
and | def | exec | if | not | return |
assert | del | finally | import | or | try |
break | elif | for | in | pass | while |
class | else | from | is | yield | |
continue | except | global | lambda | raise |
Cada vez que uma variável assume um valor, seu tipo é definido dinâmicamente. Este valor também pode ser substituido por outro de um tipo diferente.
num = 50
integer
num = 2.5
float
val = True
bool
txt = "Hello"
string
v = [1,2,3]
list
kv = {'key':10}
dict
50 + 2.7
soma
5 - 3
subtração
8 * 9.3
multiplicação
10 / 3.2
divisão inteira
2 ** 2
potenciação
10 % 3
resto
>>> 10
>>> 2.5 ## usa ponto, não vírgula!!
>>> type(20)
<type 'int'>
>>> type(4.7)
<type 'float'>
>>> 10+5 # adição
15
>>> 20-11 # subtração
9
>>> 2*10 # multiplicação
20
>>> 30/2 # divisão inteira
15
>>> 30/2.9 # divisão fracionada
10.344827586206897
>>> 2**4 # exponenciação
16
>>> 10 % 8 # resto da divisão inteira
2
>>> 120-30+2**3 # múltiplas operações
98
>>> (2+3)*5 # dando prioridade à operações
25
>>> 0 ** 0 # Python adota esse caso especial como sendo 1
1
>>> 12 / 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
>>> True
>>> False
>>> (10 > 5)
True
>>> type(True)
<type 'bool'>
>>> type(False)
<type 'bool'>
>>> type(1)
<type 'int'>
>>> True == 1
True
>>> False == 0
True
São valores verdadeiros ou falsos ou expressões que podem ser interpretadas como tal.
>>> "Isso é uma string."
>>> "10" # isso também é uma string
>>> print("Olá mundo!")
Olá mundo!
>>> type("50")
<type 'str'>
É todo conteúdo definido entre aspas, na forma de um caractere, palavra ou frase.
'Eu sou uma string.'
"Eu englobo uma aspa simples. I'm cool."
"""
Eu tenho
mais de uma linha.
"""
>>> nums = [10, 20, 30]
>>> letras = ['a', 'b', 'c']
>>> misturas = ["oi", "c", 30]
>>> bidimensional = ["lista",["com","lista"]]
>>> v = [1,"a",True]
>>> type(v)
<type 'list'>
Listas são um conjunto de valores aglomerados. Estes valores podem ser todos do mesmo tipo ou de tipos diferentes e, inclusive, podem ser outras listas.
"Slicing" = fatiamento
>>> lista = [1, 20, 'c']
>>> lista[0]
1
>>> lista[1]
20
>>> lista[0:2]
[1,20]
>>> lista[:2]
[1,20]
>>> lista[::2]
[1,'c']
>>> lista[::-1]
['c',20,1]
>>> d = {'nome': "João", 'idade': 19, 'matricula': 123456}
>>> type(d)
<type 'dict'>
>>> d2 = dict(nome="João", idade=19, matricula=123456)
>>> type(d2)
<type 'dict'>
>>> print(d["nome"])
"João"
>>> print(d["idade"])
19
>>> type(d["idade"])
<type 'int'>
Dicionários são pares chave-valor. Resumidamente, parecem listas com variáveis. Eles armazenam vários valores que estão associados a uma chave (variável).