diff --git a/_images/zuul.jpg b/_images/zuul.jpg new file mode 100644 index 0000000..8b1dd44 Binary files /dev/null and b/_images/zuul.jpg differ diff --git a/python.html b/python.html index f4090c3..e215725 100644 --- a/python.html +++ b/python.html @@ -1,90 +1,340 @@ - - + + - Python + Python - + - - + + - + - - + + - - + + - - + + - + - - + + - + -
- -
-
-

Python

+
+ +
+
+

Python

+
+ +
+
+

O que é Python?

+
+ +
+
    +
  • Linguagem interpretada.
  • +
  • Dinamicamente tipada.
  • +
+
+
+ +
+
+

O interpretador Python

+
+ +
+


+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.
+>>>
+                        

+
+
+ +
+
+

Tipos

+
+ +
+

Tipos Mutáveis e Tipos Imutáveis

+ +

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):

+ +
    +
  • None
  • +
  • Long (a = 1L)
  • +
  • Lambdas ( a = lambda a: a + 2)
  • +
+
+
+ +
+
+

Estruturas de Controle

+ +

(... que é o nome bonito para coisas tipo if, for...)

+
+ +
+

Antes de mais nada...

+ +

Blocos

+
+ +
+

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
+                        

+
+
+ +
+
+

The fuck "ITERÁVEL"?

+
+ +
+

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:

+ +
    +
  • Listas (a[2])
  • +
  • Tuplas (a[2])
  • +
  • Dicionários (a['Python'])
  • +
  • Strings/Unicodes (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
+						

+
+
+ +
+
+

Funções

+
+ +
+

def [nome_da_função]([parâmetro], [parâmetro]):

+ +


+def funcao(a, b, c):
+    return (a + b) / c
+						

+
-
-
- - - - - - - +
+
+ + + + + + +