diff --git a/fugindo-com-python-2.html b/fugindo-com-python-2.html index 249b7f1..7a1b292 100644 --- a/fugindo-com-python-2.html +++ b/fugindo-com-python-2.html @@ -58,15 +58,15 @@ max-height: 90%; } - .semi-opaque { - background-color: rgba(0, 0, 0, 0.7); - color: #fff; - text-shadow: 2px 2px #000; - } - - .reveal h1 { - font-size: 3em !important; - } + .semi-opaque { + background-color: rgba(0, 0, 0, 0.8); + color: #fff; + text-shadow: 2px 2px #000; + } + + .reveal h1 { + font-size: 3em !important; + } @@ -86,9 +86,8 @@
"""Randomize a "Run to the hills" phrase."""
+ """Randomize a "Run to the hills" phrase."""
from __future__ import print_function
@@ -178,7 +177,7 @@ if __name__ == "__main__":
Docstrings
-
+
"""Randomize a "Run to the hills" phrase."""
@@ -203,7 +202,7 @@ if __name__ == "__main__":
Módulos e imports
-
+
import random
from argparse import ArgumentParser
@@ -267,7 +266,7 @@ from argparse import ArgumentParser
Variáveis e tipos
-
+
CONSONANTS = ['f', 'j', 'c', 'l', 'n']
PASSPHRASE = '{}u{}am para as {}o{}i{}as'
@@ -292,13 +291,25 @@ PASSPHRASE = '{}u{}am para as {}o{}i{}as'
nós vamos estragar essa convenção.)
+
+
+ Variáveis e tipos (um pouco mais)
+
+
+ " ou '
: Strings
+ []
: Listas/arrays
+ {}
: Dicionários/mapas/objetos/arrays associativos
+ ()
: Tuplas
+ Set()
: Conjuntos (tipo lista, sem duplicações)
+
+
Funções
-
+
def print_phrase(consonants):
"""Print the phrase with the randomized consonants."""
@@ -328,7 +339,7 @@ def print_phrase(consonants):
Funções
-
+
def print_phrase(consonants, something_else):
@@ -341,7 +352,7 @@ def print_phrase(consonants, something_else):
Funcões
-
+
def soma(primeiro, segundo):
total = primeiro + segundo
return total
@@ -361,7 +372,7 @@ def soma(primeiro, segundo):
Funções
-
+
soma(1, 2)
@@ -374,7 +385,7 @@ soma(1, 2)
Funções
-
+
soma(primeiro=2, segundo=3)
@@ -387,7 +398,7 @@ soma(primeiro=2, segundo=3)
Funções
-
+
soma(segundo=3, primeiro=2)
@@ -404,11 +415,11 @@ soma(segundo=3, primeiro=2)
Funções
-
+
def soma(primeiro=0, segundo=0):
-
+
soma()
soma(1)
soma(segundo=3)
@@ -428,17 +439,17 @@ soma(segundo=3)
Pausa: Varargs
-
+
def soma(primeiro, segundo):
total = primeiro + segundo
return total
-
+
soma(1)
-
+
soma(1, 2, 3)
@@ -451,7 +462,7 @@ soma(1, 2, 3)
Pausa: Varargs
-
+
TypeError: soma() takes exactly 2 arguments (3 given)
@@ -464,7 +475,7 @@ TypeError: soma() takes exactly 2 arguments (3 given)
Pausa: Varargs
-
+
def soma(*valores):
@@ -479,16 +490,16 @@ def soma(*valores):
Pausa: Varargs
-
+
def soma(*valores):
print(valores)
-
+
soma(1, 2, 3, 4, 5)
-
+
[1, 2, 3, 4, 5]
@@ -496,7 +507,7 @@ soma(1, 2, 3, 4, 5)
Pausa: Varargs
-
+
def soma(inicial, segundo=0, *valores):
print(inicial)
print(segundo)
@@ -504,11 +515,11 @@ def soma(inicial, segundo=0, *valores):
-
+
soma(2)
-
+
2
0
[]
@@ -526,16 +537,16 @@ soma(2)
Pausa: Varargs
-
+
def soma(**valores):
print(valores)
-
+
soma(primeiro=1, segundo=2)
-
+
{'primeiro': 1, 'segundo': 2}
@@ -568,7 +579,7 @@ soma(primeiro=1, segundo=2)
Pausa: Varargs
-
+
params = [4, 4]
soma(*params)
@@ -594,7 +605,7 @@ soma(*params)
Pausa: Objetos
-
+
"isso é uma string"
@@ -606,7 +617,7 @@ soma(*params)
Pausa: Objetos
-
+
help("isso é uma string")
@@ -625,11 +636,11 @@ help("isso é uma string")
Pausa: Objetos
-
+
"isso é uma string".capitalize()
-
+
frase = "isso é uma string"
frase.capitalize()
@@ -640,7 +651,7 @@ frase.capitalize()
Welcome to Hell
-
+
print(PASSPHRASE.format(*consonants).capitalize())
@@ -680,11 +691,11 @@ frase.capitalize()
Welcome to Hell
-
+
'Bem vindo {}!'.format('Júlio')
-
+
Bem vindo Júlio!
@@ -697,12 +708,12 @@ Bem vindo Júlio!
Welcome to Hell
-
+
PASSPHRASE = '{}u{}am para as {}o{}i{}as'
PASSPHRASE.format('f', 'j', 'c', 'l', 'n')
-
+
'fujam para as colinas'
@@ -716,13 +727,13 @@ PASSPHRASE.format('f', 'j', 'c', 'l', 'n')
Welcome to... Hell
-
+
CONSONANTS = ['f', 'j', 'c', 'l', 'n']
PASSPHRASE = '{}u{}am para as {}o{}i{}as'
PASSPHRASE.format(*CONSONANTS)
-
+
'fujam para as colinas'
@@ -737,11 +748,11 @@ PASSPHRASE.format(*CONSONANTS)
Welcome to... Hell?
-
+
'fujam para as colinas'.capitalize()
-
+
Fujam para as colinas
@@ -756,7 +767,7 @@ Fujam para as colinas
Randomizações
-
+
def totally_random():
"""Run a totally random way."""
random.shuffle(CONSONANTS)
@@ -776,7 +787,7 @@ def totally_random():
Randomizações
-
+
def switch_two():
"""Run by changing two steps at a time."""
first = random.randint(0, 1)
@@ -801,7 +812,7 @@ def switch_two():
Welcome to hell, maybe?
-
+
CONSONANTS[second], CONSONANTS[first] = \
CONSONANTS[first], CONSONANTS[second]
@@ -810,7 +821,7 @@ def switch_two():
Welcome to Listas!
-
+
# CONSONANTS = ['f', 'j', 'c', 'l', 'n']
# second = random.randint(2, 4)
CONSONANTS[second]
@@ -836,7 +847,7 @@ CONSONANTS[second]
E pra criar uma tupla:
-
+
valor, valor
@@ -846,13 +857,13 @@ valor, valor
Welcome to Destructuring
-
+
primeiro, segundo = [1, 2]
print(primeiro)
print(segundo)
-
+
1
2
@@ -875,12 +886,12 @@ print(segundo)
Tudo junto, agora!
-
+
CONSONANTS[second], CONSONANTS[first] = \
CONSONANTS[first], CONSONANTS[second]
-
+
tmp = CONSONANTS[first]
CONSONANTS[first] = CONSONANTS[second]
CONSONANTS[second] = tmp
@@ -901,7 +912,7 @@ CONSONANTS[second] = tmp
O Pai de Todos Módulos
-
+
if __name__ == "__main__":
@@ -937,7 +948,7 @@ if __name__ == "__main__":
A linha de comando
-
+
args = ArgumentParser()
args.add_argument('-t', '--totally',
dest='type',
@@ -967,7 +978,7 @@ if __name__ == "__main__":
Funções são cidadãos de primeira classe
-
+
callbacks = {
'totally': totally_random,
'switch': switch_two
@@ -1010,6 +1021,46 @@ if __name__ == "__main__":
+
+
+ O que faltou?
+
+
+
+ List comprehensions
+
+
+numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
+pares = [num
+ for num
+ in numeros
+ if num % 2 = 0]
+
+
+ Curiosidade: Strings são iteráveis como listas.
+
+
+
+ Generators
+
+
+numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
+pares = (num
+ for num
+ in numeros
+ if num % 2 = 0)
+
+
+
+<generator object <genexpr> at 0x7f03ce4e67d0>
+
+
+
+
+ Laziness
+
+
+
Fulindo para as Cojinas com Python
@@ -1022,47 +1073,49 @@ if __name__ == "__main__":
+
+
+ - Júlio Biason
+ - https://functional.cafe/@juliobiason
+ - julio.biason@pm.me
+ - http://presentations.juliobiason.net
+
+
+
+
+
Perguntas?
+
+
+
+
-
-
- - @juliobiason
- - https://functional.cafe/@juliobiason
- - julio.biason@gmail.com
- - http://presentations.juliobiason.net
-
-
-
-
-
-
-
-
-
-
-
-
-