Python 2.7.5 (default, Jun 25 2014, 10:19:55)
[GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Em Python, o tipo da variável pode ser mutável ou imutável, mas a definição é data pelo tipo e não pelo usuário.
Uma variável do tipo "imutável" não pode ser alterada depois de criada. Tentar modificar a variável vai criar uma nova instância.
Uma variável do tipo "mutável" é o contrário: tentar alterar vai alterar o objeto, não criar um novo.
A importância disto será visto mais pra frente, mas tenha isso em mente.
bool
: Tipo booleano.
a = True
b = False
int
: Um inteiro.
a = 1
>>> 1 + 1
2
float
: Um número com ponto flutuante.
a = 1.1
b = 1.0
str
: Strings. É um objeto imutável.
a = 'Python'
b = "Python"
c = """Python
Rocks!"""
unicode
: Strings em Unicode. É um objeto imutável.
a = u'Python'
list
: Listas. É um objeto mutável.
a = [1, 2, 'Python', ['Outra lista']]
dict
: Um dicionário/objeto/mapa. É um objeto mutável.
a = {'Python': 'Rocks',
1: 1.0}
tuple
: Um conjunto de elementos. É um objeto imutável.
a = ('Python', 1)
b = (2,)
E ainda (mas menos importantes):
a = 1L
) a = lambda a: a + 2
)(... que é o nome bonito para coisas tipo if
, for
...)
Antes de mais nada...
Em Python, uma identação define um bloco.
Não tem {
/ }
, não tem end
, nada. Só blocos.
if [condição]
if a = 1:
b = 2
c = 3
while [condição]
a = 1
while True:
a += 1
if a > 10:
break
for [iterável]
soma = 0
for valor em [345, 123, 123, 34]:
soma += valor
Um objeto "iterável" é aquele que pode ter elementos
acessados usando [
e ]
.
(Na verdade, o objeto tem que ter um generator;
para acesar elementos diretamente, o objeto tem que implementar a função
__getitem__
.)
Tipos iteráveis:
a[2]
)a[2]
)a['Python']
)a[2]
)Strings como iteráveis:
for l in 'Python':
print l
Dicionários como iteráveis:
for key in {'Python': 'Rocks', 'Parrot': 'Dead', 'Favorite Color': 'Blue'}:
print key
def [nome_da_função]([parâmetro], [parâmetro]):
def funcao(a, b, c):
return (a + b) / c