35
Por Richardson Lima [email protected] 1 Richardson Lima [email protected] [email protected] http://richardsonlima.foxylinux.com

Python para iniciantes

Embed Size (px)

DESCRIPTION

Slide da palestra sobre Python. Programando em Python, 27 de Agosto às 19h (na Fuctura) Por Richardson Lima, administrador de redes do grupo de pesquisas avançadas em redes de computadores, realidade virtual e multimídia na Universidade Federal de Pernambuco e desenvolvedor da comunidade Debian (sobre o curso)

Citation preview

Page 1: Python para iniciantes

Por Richardson Lima [email protected] 1

Richardson [email protected]

[email protected]://richardsonlima.foxylinux.com

Page 2: Python para iniciantes

Por Richardson Lima [email protected] 2

Atenção

• O prazer de construir um programa em Python pode causar dependência

psicológica.

• Brincadeirinhaaaa !!!

Page 3: Python para iniciantes

Por Richardson Lima [email protected] 3

Esboço • O que é Python?

• Por que usar Python?

• Python, em comparação com outras linguagens.

Page 4: Python para iniciantes

Por Richardson Lima [email protected] 4

O que é Python?

Page 5: Python para iniciantes

Por Richardson Lima [email protected] 5

Porquê Python

• Seu nome é uma homenagem ao grupo humorístico inglês Monty Python,adorado por geeks de todo o mundo.

Page 6: Python para iniciantes

Por Richardson Lima [email protected] 6

O que é Python ?

- Prototipagem rápida de linguagem OO

- Não é apenas uma linguagem de scripting- Não apenas um outro Perl

- Extensível (incremento de novos módulos)C / C ++ / Fortran / qualquer coisa =)

Java (através Jython)- Possível incorporar em aplicações

Page 7: Python para iniciantes

Por Richardson Lima [email protected] 7

Propriedades de alto nível- Extremamente portátil.

- Unix, Windows, Mac, BeOS, Win / CE, DOS, OS / 2, Amiga, VMS, Cray, ...

- Compilado para código interpretador byte code.- Compilação é implícita e automática.

- Gerenciamento automático de memória.

Page 8: Python para iniciantes

Por Richardson Lima [email protected] 8

O que é Python

- Livre (open source)Direitos autorais, mas não uso restrito

- Apoio da comunidade de usuários- Design elegante, fácil de aprender

Lê como "pseudo-código"Adequada como primeira linguagem

Page 9: Python para iniciantes

Por Richardson Lima [email protected] 9

Interfaces para o ...- COM, DCOM, ODBC- Bases de dados comerciais- Java (Jython)- Muitas bibliotecas GUI

• Plataforma independente - Tk, wxWindows, GTK

• Plataforma específica - MFC, MacOS, X11/Motif

Page 10: Python para iniciantes

Por Richardson Lima [email protected] 10

Propriedades da linguagem - Tudo é um objeto- Módulos, classes, funções- Manipulação de exceção - Digitação dinâmica, polimorfismoStatic scoping

- Operador de sobrecarga (overloading)- Indentação para bloquear estrutura

Page 11: Python para iniciantes

Por Richardson Lima [email protected] 11

Tipos de dados de alto nível - Números: int, long, float, complex- Strings: imutável- Listas e dicionários: contentores- Outros tipos de e.x. dados binários, expressões regulares, introspecção

Page 12: Python para iniciantes

Por Richardson Lima [email protected] 12

Por que usar Python?

Page 13: Python para iniciantes

Por Richardson Lima [email protected] 13

Produtividade!- Tempo de desenvolvimento reduzido,

> A codificação é mais rápida que C, C + +, Java.

- Manutenção de código > Código é extremamente legível

- Menor tempo de aprendizado> Linguagem é muito fácil de aprender

Page 14: Python para iniciantes

Por Richardson Lima [email protected] 14

Em que pode utilizado?

- Prototipagem rápida- Web scripting (HTML, HTTP, ...)

- Programação ad hoc,aplicações científicas- Processamento de XML (XML-RPC and SOAP )

- Base de dados (Oracle, MySQL, PostgreSQL, ODBC, ...)

- Aplicações GUI

Page 15: Python para iniciantes

Por Richardson Lima [email protected] 15

Quem está usando?

- LLNL, Fermilab- Grupo CMU no Alice (gráficos 3D)- ObjectDomain (extensão de ferramenta UML)- Infoseek (linguagem scripting)- Industrial Light & Magic (tudo)- Yahoo! (CGI no Yahoo! Mail)- Digital Creations (Zope)- RedHat (Ferramentas de instalação)

Page 16: Python para iniciantes

Por Richardson Lima [email protected] 16

Criador

• Criada em 1989 pelo holandêsGuido van Rossum no Centrumvoor Wiskunde en Informatica (CWI), em Amsterdã,Holanda.

• O projeto de sistema operacional distribuído Amoeba precisava de uma linguagem de script. Nasce o Python.

Page 17: Python para iniciantes

Por Richardson Lima [email protected] 17

Python no Brasil• Embratel: monitoramento das interfaces de backbone eclientes de internet, também existem scripts de uso interno.• CPqD: monitoramento de centrais telefônicas.• GPr Sistemas: Desenvolvimento de aplicações sob encomenda,

sistemas como monitoramento de transporte terrestre via satélite são as soluções já feitas.

• Outras que utilizam o Python para sistemas Web, como Varig , Serpro ,Interlegis , ...

• Os sistemas web de gestão de conteúdo usando o trio Python/Zope/Plone vem crescendo a cada dia, principalmente em grandes empresas e em órgãos do governo.

Page 18: Python para iniciantes

Por Richardson Lima [email protected] 18

Python no mundo

• Apesar da associação cômica, Pythonvem sendo usada em projetos sérios por entidades como Google,Yahoo, NASA, InfoSeek, MCI Worldcom, IBM e Hiway, a maior empresa de hospedagem de web-sites do mundo.

Page 19: Python para iniciantes

Por Richardson Lima [email protected] 19

Comunidade Mundial

• URL: http://python.org/• Mail: [email protected], [email protected]• IRC: irc.freenode.org, canal #python

Page 20: Python para iniciantes

Por Richardson Lima [email protected] 20

Comunidade Brasileira

• URL: http://www.pythonbrasil.com.br/• Mail: [email protected]• IRC: irc.freenode.org, canal #python-br

Page 21: Python para iniciantes

Por Richardson Lima [email protected] 21

PythonCOMPARAÇÃO COM

OUTRAS LINGUAGENS

Page 22: Python para iniciantes

Por Richardson Lima [email protected] 22

Python vs. Perl- Mais fácil de aprender- Boa para o uso ocasional- Código mais legível- Manutenção do código - Menos "mágicas ", efeitos colaterais- Mais "segurança", garantias- Melhor integração Java

Page 23: Python para iniciantes

Por Richardson Lima [email protected] 23

Python vs. Tcl- Orientação a objeto- Sintaxe mais diferenciada

- Muito mais rápido (mesmo que Tcl 8.x)- Menos necessidade de extensões C

- Se usar extensões C não redefini a sintaxe> extensão, portanto, menos conflitos

- Melhor integração Java

- Python usa Tk como GUI std

Page 24: Python para iniciantes

Por Richardson Lima [email protected] 24

Python vs. Java- Código 5-10 vezes mais conciso

- Digitação dinâmica - Desenvolvimento muito rápido

- Não tens que compilar- Menos tempo de digitação

- Sim, vai mais devagar !!!- Mas o desenvolvimento é muito mais rápido!

- Utilize Python com Java: Jython!

Page 25: Python para iniciantes

Por Richardson Lima [email protected] 25

Python em web-applications

• Python é tambem a base do Zope, a mais sofisticada plataforma para construção de web-applications disponível hoje como open-source.

Page 26: Python para iniciantes

Por Richardson Lima [email protected] 26

Recursos

• Apesar de sua sintaxe simples e clara, Python oferece recursos disponíveis também em linguagens mais complicadas como Java e C++.

Page 27: Python para iniciantes

Por Richardson Lima [email protected] 27

Detalhes dos recursos

• Programação orientada a objetos

• Um moderno mecanismo para o tratamento de erros

• Possibilidade de executar o mesmo programa sem modificações em várias plataformas

• Recursos avançados de manipulação de textos, listas e outras estruturas de dados

• Módulos, uma forma inteligente de acessar e organizar código a ser reutilizado

Page 28: Python para iniciantes

Por Richardson Lima [email protected] 28

Orientação a Objeto

• Já vi muita gente dizer que uma linguagem é orientada a objetos porque

você pode criar interfaces gráficas.

• Não tem nada a ver.

Page 29: Python para iniciantes

Por Richardson Lima [email protected] 29

Detalhe

• Isso não significa, é claro, que não se pode criar aplicações com interfaces gráficas com Python ou com qualquer outra linguagem orientada ou não a objetos.

Page 30: Python para iniciantes

Por Richardson Lima [email protected] 30

Python OO

• Python é uma linguagem orientada a objetos, e nela quase tudo é um objeto, números, strings,funções, classes, instancias, métodos, ...

Page 31: Python para iniciantes

Por Richardson Lima [email protected] 31

Python Destrói !!!

• Python nos oferece uma sintaxe simples mas ao mesmo tempo suporta a maior parte das características importantes de linguagens modernas e amplamente utilizadas como Java, C++, Perl e VBScript.

Page 32: Python para iniciantes

Por Richardson Lima [email protected] 32

Seu primeiro código Python

• >>> print “Oi, Mundo !"• Oi, Mundo !

• Em JAVA !!!• Class Oi Mundo {• public static void main (String[] args) {• System.out.println(“ Oi, Mundo”) ;• }• }

Page 33: Python para iniciantes

Por Richardson Lima [email protected] 33

Brincando com Python !

• #!/usr/bin/env python• import os• if os.path.isdir("/tmp"):• print "/tmp é um diretório "• else:• print "/tmp não é um diretório "

Page 34: Python para iniciantes

Por Richardson Lima [email protected] 34

The central philosophy of Python

• In [1]: import this

Page 35: Python para iniciantes

Por Richardson Lima [email protected] 35

Contato

• Richardson Lima ( hachid )

• Email: [email protected]• Website: http://richardsonlima.foxylinux.com

• aMSN: [email protected]

• Obtenha esta palestra em:http://www.foxylinux.com/python/PythonPalestra-RichardsonLima-branco.pdf