introdução a linguagem python: simples e produtiva

33
Python: simples e produtiva Álvaro Justen aka Turicas http://twitter.com/turicas http://github.com/turicas http://CursoDeArduino.com.br/

Upload: alvaro-justen

Post on 17-Dec-2014

5.379 views

Category:

Technology


1 download

DESCRIPTION

Slides (melhorados) da webminar (palestra online) que ministrei no LabDeGaragem.com na terça-feira dia 16/08/2011. A palestra abordou aspectos introdutórios da linguagem e mostrou através de exemplos práticos onde a linguagem pode ser utilizada a favor da produtividade do desenvolvedor.

TRANSCRIPT

Page 1: Introdução a linguagem Python: simples e produtiva

Python:simples e produtiva

Álvaro Justen aka Turicashttp://twitter.com/turicashttp://github.com/turicas

http://CursoDeArduino.com.br/

Page 2: Introdução a linguagem Python: simples e produtiva

Álvaro Justen aka Turicas, prazer!

@[email protected]

www.CursoDeArduino.com.br

Page 3: Introdução a linguagem Python: simples e produtiva
Page 4: Introdução a linguagem Python: simples e produtiva
Page 5: Introdução a linguagem Python: simples e produtiva
Page 6: Introdução a linguagem Python: simples e produtiva
Page 7: Introdução a linguagem Python: simples e produtiva

História

Guido van Rossum

Page 8: Introdução a linguagem Python: simples e produtiva
Page 9: Introdução a linguagem Python: simples e produtiva

Aplicações● Shell scripts● Administração de sistemas/redes● Aplicações científicas● Computação gráfica● Jogos● Interfaces com o usuário/GUI● Aplicações Web● Robótica● “glue-language”● ...

Page 10: Introdução a linguagem Python: simples e produtiva

Principais características● Uso geral● Interpretada, VHLL● Criada por Guido van Rossum em 1989● Multiplataforma● OO, Procedural e funcional● Software livre● Baterias incluídas!● Sintaxe elegante, simples e clara● Tipagem dinâmica e forte

Page 11: Introdução a linguagem Python: simples e produtiva

Por que Python?

● Fácil de aprender● Poderosa● Alta produtividade● Estruturas de dados de alto nível● Blocos de código são delimitados por indentação! (?)

Page 12: Introdução a linguagem Python: simples e produtiva

Quem usa? Onde é usada?● YouTube● Google/Google App Engine● NASA● Industrial Light & Magic● Globo.com● ...●

● GIMP● Blender● Ubuntu● ...

Page 13: Introdução a linguagem Python: simples e produtiva

Onde roda?

● GNU/Linux● Mac OS● *nix● Windows● Android● Nokia S60● Microcontroladores● ...

Page 14: Introdução a linguagem Python: simples e produtiva

Como instalar?

GNU/Linux e Mac OS: já tem!

Windows: www.python.org

Android: Android Scripting Layer (SL4A)

Page 15: Introdução a linguagem Python: simples e produtiva
Page 16: Introdução a linguagem Python: simples e produtiva
Page 17: Introdução a linguagem Python: simples e produtiva

iPython

● Debian/Ubuntu/derivados:

sudo aptitude install ipython

● Dica: no Ubuntu:

sudo apt-get install aptitude

Page 18: Introdução a linguagem Python: simples e produtiva

Tipos básicos● Inteiro: 42● Ponto flutuante: 3.14● Complexo (!): 1.5 + 5.3j● String: “””minha string”””● Tuplas: (1, “aaa”)● Listas:

[1, 2.3, “abc”, [1, “b”]]● Dicionários:

{'a': 1, 2: 'b', [1, 2]: [3, 4]}

Page 19: Introdução a linguagem Python: simples e produtiva

Nada de parênteses,nada de chaves!

if expressao1:

comando1

if expressao2:

comando2

elif expressao3:

comando3

elif expressao4:

comando4

else:

comando5

Page 20: Introdução a linguagem Python: simples e produtiva

Listas, strings e slicesIn [1]: l = [1, 3, 4, 'LdG', 'Arduino']

In [2]: print l[1]3

In [3]: print l[1:4][3, 4, 'LdG']

In [4]: for elemento in l: ....: print elemento ....: ....:134LdGArduino

Page 21: Introdução a linguagem Python: simples e produtiva

Listas, strings e slices (2)In [5]: virus = 'nome-do-virus.exe' In [6]: print virus[-3:]exe In [7]: print virus[5:]do-virus.exe In [8]: print virus.split('.')['nome-do-virus', 'exe'] In [9]: novo_virus = 'nome.do.virus.exe' In [10]: print novo_virus.split('.')['nome', 'do', 'virus', 'exe'] In [11]: print novo_virus.split('.')[-1]exe In [12]: print 'nome.do.virus.pl'.split('.')[-1]pl

Page 22: Introdução a linguagem Python: simples e produtiva

Trabalhando com arquivos

arquivo = open('nome.txt')for linha in arquivo: print linha

arquivo_2 = open('nome-2.txt', 'w')arquivo_2.write('Python rules!')arquivo_2.close()

Page 23: Introdução a linguagem Python: simples e produtiva

Baterias incluídas! sys, os, re, string, zlib

socket, urrlib, httplib, imaplib

time, datetime, math, random

doctest, unittest, xml, xmlrpclib

struct, pickle, cPickle, threading

logging, decimal

...

Page 24: Introdução a linguagem Python: simples e produtiva

Navegando com Python

import urlliburl = 'http://www.CursoDeArduino.com.br/'pagina = urllib.urlopen(url)print pagina.read()

Page 25: Introdução a linguagem Python: simples e produtiva

Rola?

+

Page 26: Introdução a linguagem Python: simples e produtiva
Page 27: Introdução a linguagem Python: simples e produtiva

pySerial - Instalação

● Debian/Ubuntu/derivados:

sudo aptitude install python-serial

● Dica: no Ubuntu:

sudo apt-get install aptitude

Page 28: Introdução a linguagem Python: simples e produtiva

Comandando o Arduinocom Python

import serialporta = '/dev/ttyUSB0'baud_rate = 9600arduino = serial.Serial(porta, baud_rate)arduino.write('H')print arduino.read()arduino.close()

Page 29: Introdução a linguagem Python: simples e produtiva

Onde aprender?● Tutoriais:

http://www.python.org.br/http://docs.python.org/tutorial

“Google Python Class”

● Lista Python-Brasil e locais● #python-br @ irc.freenode.net● Eventos:

http://www.PythOnCampus.org/http://www.PythonBrasil.org.br/

● Cursos:http://www.WelcomeToTheDjango.com.br/

http://www.CursoDePython.com.br/

Page 30: Introdução a linguagem Python: simples e produtiva

Ficou interessado?

http://CursoDeArduino.com.br/pesquisa

Page 31: Introdução a linguagem Python: simples e produtiva

http://www.pythonbrasil.org.br/

São Paulo29/setembro a 1º/outubro

Page 32: Introdução a linguagem Python: simples e produtiva

http://www.HackNRio.org/Dezembro/2011

naCidade maravilhosa! \o/

Page 33: Introdução a linguagem Python: simples e produtiva

http://twitter.com/turicashttp://github.com/turicas

http://CursoDeArduino.com.br/http://blog.justen.eng.br/[email protected]

import this