introdução a linguagem python: simples e produtiva

Post on 17-Dec-2014

5.381 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

Python:simples e produtiva

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

http://CursoDeArduino.com.br/

Álvaro Justen aka Turicas, prazer!

@turicasalvaro@CursoDeArduino.com.br

www.CursoDeArduino.com.br

História

Guido van Rossum

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”● ...

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

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! (?)

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

● GIMP● Blender● Ubuntu● ...

Onde roda?

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

Como instalar?

GNU/Linux e Mac OS: já tem!

Windows: www.python.org

Android: Android Scripting Layer (SL4A)

iPython

● Debian/Ubuntu/derivados:

sudo aptitude install ipython

● Dica: no Ubuntu:

sudo apt-get install aptitude

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]}

Nada de parênteses,nada de chaves!

if expressao1:

comando1

if expressao2:

comando2

elif expressao3:

comando3

elif expressao4:

comando4

else:

comando5

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

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

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()

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

...

Navegando com Python

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

Rola?

+

pySerial - Instalação

● Debian/Ubuntu/derivados:

sudo aptitude install python-serial

● Dica: no Ubuntu:

sudo apt-get install aptitude

Comandando o Arduinocom Python

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

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/

Ficou interessado?

http://CursoDeArduino.com.br/pesquisa

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

São Paulo29/setembro a 1º/outubro

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

naCidade maravilhosa! \o/

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

http://CursoDeArduino.com.br/http://blog.justen.eng.br/alvaro@CursoDeArduino.com.br

import this

top related