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!
  • + +
    + +
    @@ -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))
    +						
    + + +
    + +
    +

    Compatível entre 2 e 3

    +

    (sugestão mais melhor ainda)

    + +
    
    +import six
    +
    +[...]
    +
    +six.print_('{letter} {count}'.format(letter=letter, 
    +                                     count=count))
    +						
    + + +
    + +
    +

    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