Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Linguagem Python

Linguagem Python

Apresentação da Linguagem Python na "III Semana Acadêmica de Ciência de Computação" da UNIFAL (Universidade Federal de Alfenas).

Renne Rocha

October 25, 2013
Tweet

More Decks by Renne Rocha

Other Decks in Programming

Transcript

  1. 1 Your Logo Here Linguagem Python III Semana Acadêmica da

    Ciência da Computação Universidade Federal de Alfenas 25 / 10 / 2013 25 / 10 / 2013
  2. 25 / 10 / 2013 2/66 LOGO Sumário ✔ O

    que é Python? ✔ Quem utiliza? ✔ Código! ✔ Por que aprender? ✔ Por onde eu começo? ✔ Comunidade ✔ Perguntas
  3. 25 / 10 / 2013 3/66 LOGO Renne Rocha ✔

    Engenheiro Eletricista - UNICAMP ✔ Desenvolvedor Python – Media Works ✔ Fundador do Laboratório Hacker de Campinas
  4. 25 / 10 / 2013 5/66 LOGO O que é

    Python? Linguagem de programação de uso geral
  5. 25 / 10 / 2013 6/66 LOGO O que é

    Python? Linguagem de programação de uso geral Desenvolvimento Web, Desktop, Redes, Computação Gráfica, Computação Científica, Jogos, etc...
  6. 25 / 10 / 2013 7/66 LOGO O que é

    Python? Multi-plataforma
  7. 25 / 10 / 2013 8/66 LOGO O que é

    Python? Multi-plataforma Linux, Windows, Unic, Mac OS X, JVM, .NET, etc...
  8. 25 / 10 / 2013 9/66 LOGO O que é

    Python? Multi-paradigma
  9. 25 / 10 / 2013 10/66 LOGO O que é

    Python? Multi-paradigma Procedural, OO, funcional
  10. 25 / 10 / 2013 11/66 LOGO O que é

    Python? Fácil de aprender
  11. 25 / 10 / 2013 12/66 LOGO O que é

    Python? Fácil de aprender Sintaxe clara e elegante, produtividade em poucos dias
  12. 25 / 10 / 2013 14/66 LOGO O que é

    Python? Extensível Se você sabe C, é fácil adicionar novas funções ou módulos para o interpretador
  13. 25 / 10 / 2013 16/66 LOGO O que é

    Python? Open source Python License, mantido pela Python Software Foundation
  14. 25 / 10 / 2013 18/66 LOGO O que é

    Python? Madura Desenvolvida em 1990 por Guido van Rossum. Utilizada por milhares de empresas em todo o mundo.
  15. 25 / 10 / 2013 19/66 LOGO O que é

    Python? Baterias Incluídas
  16. 25 / 10 / 2013 20/66 LOGO O que é

    Python? Baterias Incluídas Listas, dicionários, manipulação de strings, sockets, expressões regulares, internet, interface gráfica, threads, logs, CSV, XML, etc...
  17. 25 / 10 / 2013 21/66 LOGO O que é

    Python? Python Package Index
  18. 25 / 10 / 2013 22/66 LOGO O que é

    Python? Python Package Index Repositório de projetos em Python
  19. 25 / 10 / 2013 26/66 LOGO Quem utiliza? http://www.google.com/

    "Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language." said Peter Norvig, director of search quality at Google, Inc.
  20. 25 / 10 / 2013 33/66 LOGO “Talk is cheap.

    Show me the code.” Linus Torvalds – Criador do Linux Message to linux-kernel mailing list - https://lkml.org/lkml/2000/8/25/132
  21. 25 / 10 / 2013 35/66 LOGO >>> 2 +

    2 4 >>> heigth = 21 >>> weigth = 2 >>> area = weight * height >>> print area 42 >>> (3+1j)*3 (9+3j)
  22. 25 / 10 / 2013 36/66 LOGO >>> print n

    Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'n' is not defined
  23. 25 / 10 / 2013 37/66 LOGO >>> a =

    '1' >>> b = 2 >>> c = a + b Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects
  24. 25 / 10 / 2013 38/66 LOGO >>> a =

    'Boa Tarde UNIFAL' >>> a[4] 'T' >>> a[10:] 'UNIFAL' >>> a[4:9] 'Tarde' >>> a[­1] 'L'
  25. 25 / 10 / 2013 39/66 LOGO >>> a =

    ['spam', 'eggs', 100, 1234] >>> a ['spam', 'eggs', 100, 1234] >>> a[0] 'spam' >>> a[­2] 100 >>> a[1:­1] ['eggs', 100] >>> a[0] = 'ni' >>> a ['ni', 'eggs', 100, 1234]
  26. 25 / 10 / 2013 40/66 LOGO >>> frameworks =

    ['django', 'flask', 'pyramid', 'web2py'] >>> for framework in frameworks: ... print framework, len(framework) ... django 6 flask 5 pyramid 7 web2py 6
  27. 25 / 10 / 2013 41/66 LOGO >>> squares =

    [] >>> for x in range(10): ... squares.append(x**2) ... >>> squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] >>> squares = [x**2 for x in range(10)] >>> squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
  28. 25 / 10 / 2013 42/66 LOGO >>> bdfl_phones =

    { ... 'Guido': 12345, 'Jacob': 65732, 'Linus': 99999} >>> bdfl_phones.keys() ['Jacob', 'Linux', 'Guido'] >>> bdfl_phones['Linus'] 99999
  29. 25 / 10 / 2013 43/66 LOGO from twisted.internet import

    protocol, reactor class Echo(protocol.Protocol): def dataReceived(self, data): self.transport.write(data) class EchoFactory(protocol.Factory): def buildProtocol(self, addr): return Echo() reactor.listenTCP(1234, EchoFactory()) reactor.run()
  30. 25 / 10 / 2013 44/66 LOGO >>> import numpy

    as np >>> from scipy import linalg >>> A = np.array([[1,2],[3,4]]) >>> A array([[1, 2], [3, 4]]) >>> linalg.inv(A) array([[­2. , 1. ], [ 1.5, ­0.5]]) >>> linalg.det(A) ­2.0
  31. 25 / 10 / 2013 45/66 LOGO from flask import

    Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run()
  32. 25 / 10 / 2013 46/66 LOGO import numpy as

    np import matplotlib.pyplot as plt Y, X = np.mgrid[­3:3:100j, ­3:3:100j] U = ­1 ­ X**2 + Y V = 1 + X ­ Y**2 speed = np.sqrt(U*U + V*V) plt.streamplot(X, Y, U, V, color=U, linewidth=2, cmap=plt.cm.autumn) plt.colorbar() f, (ax1, ax2) = plt.subplots(ncols=2) ax1.streamplot(X, Y, U, V, density=[0.5, 1]) lw = 5*speed/speed.max() ax2.streamplot(X, Y, U, V, density=0.6, color='k', linewidth=lw) plt.show()
  33. 25 / 10 / 2013 47/66 LOGO import numpy as

    np import matplotlib.pyplot as plt Y, X = np.mgrid[­3:3:100j, ­3:3:100j] U = ­1 ­ X**2 + Y V = 1 + X ­ Y**2 speed = np.sqrt(U*U + V*V) plt.streamplot(X, Y, U, V, color=U, linewidth=2, cmap=plt.cm.autumn) plt.colorbar() f, (ax1, ax2) = plt.subplots(ncols=2) ax1.streamplot(X, Y, U, V, density=[0.5, 1]) lw = 5*speed/speed.max() ax2.streamplot(X, Y, U, V, density=0.6, color='k', linewidth=lw) plt.show()
  34. 25 / 10 / 2013 49/66 LOGO Por que aprender?

    Linguagem acessível e fácil de aprender
  35. 25 / 10 / 2013 50/66 LOGO Por que aprender?

    Muitas áreas de atuação
  36. 25 / 10 / 2013 51/66 LOGO Por que aprender?

    Muitas áreas de atuação EM CRESCIMENTO! FALTAM PROGRAMADORES!
  37. 25 / 10 / 2013 52/66 LOGO Por que aprender?

    Diversão! É uma linguagem divertida de usar!
  38. 25 / 10 / 2013 54/66 LOGO Por onde eu

    começo? http://www.python.org/
  39. 25 / 10 / 2013 55/66 LOGO Por onde eu

    começo? http://pycursos.com/python-para-zumbis/
  40. 25 / 10 / 2013 56/66 LOGO Por onde eu

    começo? http://python.pro.br/
  41. 25 / 10 / 2013 57/66 LOGO Por onde eu

    começo? http://welcometothedjango.com.br/
  42. 25 / 10 / 2013 58/66 LOGO Por onde eu

    começo? https://www.udacity.com/course/cs101
  43. 25 / 10 / 2013 60/66 LOGO Comunidade ✔ Grupos

    de Usuários ✔ PUG-MG http://python-mg.github.io ✔ GrupySP http://groups.google.com/group/grupy-sp ✔ PythonRio http://br.groups.yahoo.com/group/pythonrio ✔ ...
  44. 25 / 10 / 2013 61/66 LOGO Comunidade ✔ Listas

    de Discussão ✔ python-brasil (português) https://groups.google.com/forum/#!forum/python-brasil ✔ python-list (inglês) https://mail.python.org/mailman/listinfo/python-list
  45. 25 / 10 / 2013 62/66 LOGO Comunidade ✔ IRC

    – chat.freenode.net ✔ #python-br (português) ✔ #python (inglês)
  46. 25 / 10 / 2013 63/66 LOGO Comunidade ✔ Eventos

    ✔ PythonBrasil[9] http://www.pythonbrasil.org.br/ ✔ RuPy http://rupy.com.br ✔ PyCon http://www.pycon.org/ ✔ ...
  47. 25 / 10 / 2013 64/66 LOGO Comunidade ✔ Listas

    de Discussão ✔ python-brasil (português) https://groups.google.com/forum/#!forum/python-brasil ✔ python-list (inglês) https://mail.python.org/mailman/listinfo/python-list
  48. 25 / 10 / 2013 66/66 LOGO Obrigado! ✔ [email protected]

    ✔ @rennerocha ✔ http://github.com/rennerocha ✔ http://rennerocha.com/ ✔ http://speakerdeck.com/rennerocha/