- 1. Python para programadores
-
- Quick Crash Fast Introductory Course :)
-
- Alex Augusto da Luz dos Santos
2. Histrico da Linguagem
- Monty Python Flying Circus
3. Caractersticas
- Suporte a outros paradigmas
-
- Unix/Linux (Maemo :) ), Windows, Mac OS, etc.
-
- No necessita declarao de tipo pois o tipo fica ligado ao
objeto
-
- Fortemente tipada (diferente do tipovariantdo Visual
Basic)
4. Caractersticas
- Licena Compatvel com BSD (e com GPL)
- Conjunto completo de Estruturas de dados nativos na
linguagem
-
- Listas, Tuplas, Strings, Dicionrios, Iteradores, ...
- Documentao pertencendo ao cdigo (docstrings)
5. Caractersticas
- Fcil integrao com outras linguagens
#include static PyObject * spam_system(PyObject *self, PyObject
*args) { const char *command; int sts;
if(!PyArg_ParseTuple(args,"s" , &command)) return NULL; sts =
system(command); return Py_BuildValue( "i" , sts); } } 6.
Comentrios Genricos
- No necessrio declarar variveis
- Blocos de cdigo so definidos pela indentao (no precisa de { nem
de })
- O self passado por parmetro para os mtodos
- No necessrio compilar cdigo
7. Hierarquia de Classes 8. Tipos mais importantes
-
-
- 256, 123456789L, 1.5, 1e-45, 53+12j
-
-
- 256 + 54, 32 * 3, 55 ** 2, 128 | 123, ...
9. Tipos mais importantes
-
-
- "string normal", u"string unicode", r"string expressao
regular", """string multilinha""", 'string', ...
-
- Operaes (dica: use odir() ):
-
-
- "spam" * 3 # resultado: "spamspamspam"
-
-
- "spam" + "eggs" # resultado: "spameggs"
-
-
- "spam%s%d" % ("eggs", 256) # resultado: "spameggs256"
-
-
- mtodos:upper(), lower(), capitalize(), strip(), split(),
join(), ..., ...
10. Tipos mais importantes
-
-
- a,b,c = (1, 2, 3) # resulta: a=1, b=2, c=3
-
-
- [1, 2, 3]+[4,5] # resulta: [1, 2, 3, 4, 5]
-
-
- [1, 2, 3].append(4) # resulta: [1, 2, 3, 4 ]
-
-
- mtodos:append(), extend(), pop(), reverse(), sort(), insert(),
...
11. Tipos mais importantes
-
-
- dic["spam"] # resulta: 'eggs'
-
-
- mtodos:has_key(), get(), update(), items(), keys(), ...
12. Tipos mais importantes
-
-
- f = open("arquivo.txt", "r")
-
-
- f = file("arq.bin", "wb")
-
-
- for linha in open("arq.txt"): pass
-
-
- mtodos:read(), readline(), write(), readlines(), close(),
...
13. Slicing
-
- sequencia[inicio:fim:step]
-
- "spameggs"[1:] # "pameggs"
-
- "spameggs"[1:-1] # "pamegg"
-
- "spameggs"[::-1] # "sggemaps"
14. Comandos
-
- No precisa dos parntesis (" if (condicao): ") que foge aostyle
guideda linguagem
-
- No permitido atribuio: " if f=x(1): "
15. Comandos
16. Comandos
-
- # imprimir: 0 1 2 3 4 5 6 7 8 9
17. Comandos
-
-
- raise NewException ,"spam!"
18. Funes
-
- deff(x, parm= 2 ):# parametro default
19. Funes
20. Funes
21. Orientao objetos
-
- Construtor: " __init__() "
-
-
- def__init__( self , parm):
-
- eggs = spam( "foo" )# instancia um objeto spam
- O parmetroselfdeve ser explicitamente declarado nos
mtodos.
22. Mdulos
- A biblioteca do Python vem organizada em mdulos e
packages.
- Importando em namespace separado:
- Importando para o namespace corrente:
23. Mdulos
-
- importpacote.subpacote.modulo
- Existem dezenas de mdulosbuiltinao Python e mais centenas de
mdulos de terceiros.
- RUDA: Cita os mdulos mais importantes
24. Mdulos mais importantes
- sys funcionalidades do ambiente Python
- os funcionalidades do sistema operacional
- re mdulo de expresses regulares
- sha, md5, ... - segurana / digests
- imaplib, poplib, telnetlib, ... - protocolos de rede
25. Mais informaes
- diretamente com o Osvaldo (ou Rud)
- Aguarde a continuao deste mini-curso...