Este documento fornece uma introdução à linguagem de programação Python. Resume os principais pontos sobre o que é Python, por que usar Python, e compara Python com outras linguagens. O documento também fornece detalhes sobre recursos, produtividade, aplicações e comunidades de Python.
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
Python para iniciantes
1. Richardson Lima
securityfusion@gmail.com
richardsonlima@foxylinux.com
http://richardsonlima.foxylinux.com
Por Richardson Lima richardsonlima@foxylinux.com 1
2. Atenção
• O prazer de construir um programa em
Python pode causar dependência
psicológica.
• Brincadeirinhaaaa !!!
Por Richardson Lima richardsonlima@foxylinux.com 2
3. Esboço
• O que é Python?
• Por que usar Python?
• Python, em comparação com outras linguagens.
Por Richardson Lima richardsonlima@foxylinux.com 3
4. O que é Python?
Por Richardson Lima richardsonlima@foxylinux.com 4
5. Porquê Python
• Seu nome é uma homenagem ao grupo
humorístico inglês Monty Python,adorado
por geeks de todo o mundo.
Por Richardson Lima richardsonlima@foxylinux.com 5
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
Por Richardson Lima richardsonlima@foxylinux.com 6
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.
Por Richardson Lima richardsonlima@foxylinux.com 7
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
Por Richardson Lima richardsonlima@foxylinux.com 8
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
Por Richardson Lima richardsonlima@foxylinux.com 9
10. Propriedades da linguagem
- Tudo é um objeto
- Módulos, classes, funções
- Manipulação de exceção
- Digitação dinâmica, polimorfismo
Static scoping
- Operador de sobrecarga (overloading)
- Indentação para bloquear estrutura
Por Richardson Lima richardsonlima@foxylinux.com 10
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
Por Richardson Lima richardsonlima@foxylinux.com 11
12. Por que usar
Python?
Por Richardson Lima richardsonlima@foxylinux.com 12
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
Por Richardson Lima richardsonlima@foxylinux.com 13
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
Por Richardson Lima richardsonlima@foxylinux.com 14
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)
Por Richardson Lima richardsonlima@foxylinux.com 15
16. Criador
• Criada em 1989 pelo holandês
Guido van Rossum no Centrum
voor Wiskunde en Informatica (CWI),
em Amsterdã,Holanda.
• O projeto de sistema operacional
distribuído Amoeba precisava de uma
linguagem de script. Nasce o Python.
Por Richardson Lima richardsonlima@foxylinux.com 16
17. Python no Brasil
• Embratel: monitoramento das interfaces de backbone e
clientes 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.
Por Richardson Lima richardsonlima@foxylinux.com 17
18. Python no mundo
• Apesar da associação cômica, Python
vem 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.
Por Richardson Lima richardsonlima@foxylinux.com 18
19. Comunidade Mundial
• URL: http://python.org/
• Mail: python-list@python.org, python-help@python.org
• IRC: irc.freenode.org, canal #python
Por Richardson Lima richardsonlima@foxylinux.com 19
20. Comunidade Brasileira
• URL: http://www.pythonbrasil.com.br/
• Mail: python-brasil@yahoogrupos.com.br
• IRC: irc.freenode.org, canal #python-br
Por Richardson Lima richardsonlima@foxylinux.com 20
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
Por Richardson Lima richardsonlima@foxylinux.com 22
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
Por Richardson Lima richardsonlima@foxylinux.com 23
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!
Por Richardson Lima richardsonlima@foxylinux.com 24
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.
Por Richardson Lima richardsonlima@foxylinux.com 25
26. Recursos
• Apesar de sua sintaxe simples e clara,
Python oferece recursos disponíveis
também em linguagens mais complicadas
como Java e C++.
Por Richardson Lima richardsonlima@foxylinux.com 26
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
Por Richardson Lima richardsonlima@foxylinux.com 27
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.
Por Richardson Lima richardsonlima@foxylinux.com 28
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.
Por Richardson Lima richardsonlima@foxylinux.com 29
30. Python OO
• Python é uma linguagem orientada a objetos,
e nela quase tudo é um objeto, números,
strings,funções, classes, instancias, métodos,
...
Por Richardson Lima richardsonlima@foxylinux.com 30
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.
Por Richardson Lima richardsonlima@foxylinux.com 31
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”) ;
• }
• }
Por Richardson Lima richardsonlima@foxylinux.com 32
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"
Por Richardson Lima richardsonlima@foxylinux.com 33
34. The central philosophy of Python
• In [1]: import this
Por Richardson Lima richardsonlima@foxylinux.com 34
35. Contato
• Richardson Lima ( hachid )
• Email: richardsonlima@foxylinux.com
• Website: http://richardsonlima.foxylinux.com
• aMSN: richardson@hachid.com
• Obtenha esta palestra em:
http://www.foxylinux.com/python/PythonPalestra-RichardsonLima-branco.pdf
Por Richardson Lima richardsonlima@foxylinux.com 35