From e6ba37a1125f9e5596035fd72f6be3ecc8eb0be4 Mon Sep 17 00:00:00 2001
From: Julio Biason
Date: Wed, 16 Nov 2016 16:13:45 -0200
Subject: [PATCH] six: completed the first example of converting to six
---
fisl2016.html | 7 +++
python23six.html | 158 ++++++++++++++++++++++++++++++++++++++++-------
reveal.js | 2 +-
3 files changed, 142 insertions(+), 25 deletions(-)
diff --git a/fisl2016.html b/fisl2016.html
index fe343c6..733853e 100644
--- a/fisl2016.html
+++ b/fisl2016.html
@@ -66,6 +66,7 @@ img {
As apresentações não são minhas;
Ver as apresentações não me tornou um expert no assunto;
Essas são as minhas opiniões.
+ Então porque?
@@ -403,6 +404,12 @@ img {
+
+
+ Impressões gerais do evento
+
+
+
diff --git a/python23six.html b/python23six.html
index 624e1fc..8632a3c 100644
--- a/python23six.html
+++ b/python23six.html
@@ -31,6 +31,12 @@
+
+
@@ -66,12 +72,22 @@
AsyncIO
SUPORTE AO PYTHON 2 TERMINA EM 2020!
+
+
+ Segundo especialistas, python asyncio com pyuv consegue ser mais
+ performático que NodeJS.
+
+
+
+ Gente, natal tá chegando aí, logo depois vem o carnaval e,
+ quando tu vê, já é 2020.
+
@@ -98,6 +114,13 @@
(%
para formatar strings
retornou, 2to3
não muda para format()
)
+
+
+
+ ... mas agora o código pode ter ficado incompatível com
+ Python 2...
+
+
@@ -114,7 +137,7 @@
Exemplo (estúpido)
- import collections
+ import collections
class Model(object):
def __init__(self, word):
@@ -133,7 +156,7 @@ class Model(object):
-
+
@property
def letters(self):
return self._count
@@ -144,7 +167,7 @@ class Model(object):
-
+
if __name__ == "__main__":
word = Model('This is an ex-parrot')
for letter, count in word.letters.iteritems():
@@ -183,6 +206,94 @@ if __name__ == "__main__":
mais espaço entre itens).
+
+
+
+ Compatível entre 2 e 3
+
+
+class Model(object):
+
+
+ Não precisa fazer nada.
+
+
+
+ Compatível entre 2 e 3
+
+
+print letter, count
+
+
+
+from __future__ import print_function
+
+[...]
+
+print('{} {}'.format(letter, count))
+
+
+
+
+ Compatível entre 2 e 3
+ (sugestão)
+
+
+print('{letter} {count}'.format(letter=letter,
+ count=count))
+
+
+
+ Use os nomes das variáveis no print para
+ evitar confusões sem contar que agora a
+ ordem dos parâmetros não precisa mais
+ seguir a ordem do print.
+
+
+
+
+ Compatível entre 2 e 3
+ (sugestão mais melhor ainda)
+
+
+import six
+
+[...]
+
+six.print_('{letter} {count}'.format(letter=letter,
+ count=count))
+
+
+
+ six.print_ é recomendado se tu não pode sequer rodar
+ Python 2.7 (mas por favor, né?)
+
+
+
+
+ Compatível entre 2 e 3
+
+
+for letter, count in word.letters.iteritems():
+
+
+
+import six
+
+[...]
+
+for letter, count in six.iteritems(word.letters):
+
+
+
+
+ 🎉 Parabéns! 🎉
+
+ Seu código roda em Python 2 E Python 3!
+
+ ... o código era estúpido mesmo...
+
+
@@ -190,28 +301,27 @@ if __name__ == "__main__":
diff --git a/reveal.js b/reveal.js
index bef2722..3c36ee6 160000
--- a/reveal.js
+++ b/reveal.js
@@ -1 +1 @@
-Subproject commit bef2722eedd9671a9e0f0f9e553c0863437d1402
+Subproject commit 3c36ee6cff43d2c4aefe59ef5198df4f327fa094