Python para Programadores

60 %
40 %
Information about Python para Programadores

Published on February 3, 2007

Author: osantana

Source: slideshare.net

Description

Um mini-curso rᰩdo de Python para programadores que jᠳabem programar. Apresenta uma vis㯠geral da sintaxe da linguagem.

Python para programadores Quick Crash Fast Introductory Course :) Osvaldo Santana Neto Baseado no curso de: Alex Augusto da Luz dos Santos

Quick Crash Fast Introductory Course :)

Osvaldo Santana Neto

Baseado no curso de:

Alex Augusto da Luz dos Santos

Histórico da Linguagem Guido van Rossum ABC Criada em 1991 Monty Python Flying Circus

Guido van Rossum

ABC

Criada em 1991

Monty Python Flying Circus

Características Interpretada + Compilada Orientada à objetos Suporte a outros paradigmas Funcional Estrutural Multiplataforma Unix/Linux (Maemo :) ), Windows, Mac OS, etc. Dinamicamente tipada Não necessita declaração de tipo pois o tipo fica ligado ao objeto Fortemente tipada (diferente do tipo variant do Visual Basic)

Interpretada + Compilada

Orientada à objetos

Suporte a outros paradigmas

Funcional

Estrutural

Multiplataforma

Unix/Linux (Maemo :) ), Windows, Mac OS, etc.

Dinamicamente tipada

Não necessita declaração de tipo pois o tipo fica ligado ao objeto

Fortemente tipada (diferente do tipo variant do Visual Basic)

Características Licença Compatível com BSD (e com GPL) Conjunto completo de Estruturas de dados nativos na linguagem Listas, Tuplas, Strings, Dicionários, Iteradores, ... Ambiente Interativo Documentação pertencendo ao código (docstrings)

Licença Compatível com BSD (e com GPL)

Conjunto completo de Estruturas de dados nativos na linguagem

Listas, Tuplas, Strings, Dicionários, Iteradores, ...

Ambiente Interativo

Documentação pertencendo ao código (docstrings)

Características Fácil integração com outras linguagens C / C++, Java, Lua, ... Exemplo em C: #include <Python.h> static PyObject * spam_system(PyObject *self, PyObject *args) { const char *command; int sts; if (!PyArg_ParseTuple(args, &quot;s&quot; , &command)) return NULL; sts = system(command); return Py_BuildValue( &quot;i&quot; , sts); } }

Fácil integração com outras linguagens

C / C++, Java, Lua, ...

Exemplo em C:

Comentários Genéricos Não é necessário declarar variáveis Blocos de código são definidos pela indentação (não precisa de “{“ nem de “}”) O “self” é passado por parâmetro para os métodos Não é necessário compilar código

Não é necessário declarar variáveis

Blocos de código são definidos pela indentação (não precisa de “{“ nem de “}”)

O “self” é passado por parâmetro para os métodos

Não é necessário compilar código

Hierarquia de Classes

Tipos mais importantes Inteiros: Exemplos: 256, 123456789L, 1.5, 1e-45, 53+12j Operações: 256 + 54, 32 * 3, 55 ** 2, 128 | 123, ...

Inteiros:

Exemplos:

256, 123456789L, 1.5, 1e-45, 53+12j

Operações:

256 + 54, 32 * 3, 55 ** 2, 128 | 123, ...

Tipos mais importantes Strings: Exemplos: &quot;string normal&quot;, u&quot;string unicode&quot;, r&quot;string expressao regular&quot;, &quot;&quot;&quot;string multilinha&quot;&quot;&quot;, 'string', ... Operações (dica: use o dir() ): &quot;spam&quot; * 3 # resultado: &quot;spamspamspam&quot; &quot;spam&quot; + &quot;eggs&quot; # resultado: &quot;spameggs&quot; &quot;spam%s%d&quot; % (&quot;eggs&quot;, 256) # resultado: &quot;spameggs256&quot; métodos: upper(), lower(), capitalize(), strip(), split(), join(), ..., ... slicing (veremos adiante)

Strings:

Exemplos:

&quot;string normal&quot;, u&quot;string unicode&quot;, r&quot;string expressao regular&quot;, &quot;&quot;&quot;string multilinha&quot;&quot;&quot;, 'string', ...

Operações (dica: use o dir() ):

&quot;spam&quot; * 3 # resultado: &quot;spamspamspam&quot;

&quot;spam&quot; + &quot;eggs&quot; # resultado: &quot;spameggs&quot;

&quot;spam%s%d&quot; % (&quot;eggs&quot;, 256) # resultado: &quot;spameggs256&quot;

métodos: upper(), lower(), capitalize(), strip(), split(), join(), ..., ...

slicing (veremos adiante)

Tipos mais importantes Listas e Tuplas Exemplos: [ &quot;spam&quot;, &quot;eggs&quot; ] ( &quot;spam&quot;, &quot;eggs&quot; ) Operações: 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 ] métodos: append(), extend(), pop(), reverse(), sort(), insert(), ... slicing

Listas e Tuplas

Exemplos:

[ &quot;spam&quot;, &quot;eggs&quot; ]

( &quot;spam&quot;, &quot;eggs&quot; )

Operações:

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 ]

métodos: append(), extend(), pop(), reverse(), sort(), insert(), ...

slicing

Tipos mais importantes Dicionários Exemplo: { &quot;spam&quot;: 'eggs' } Operações: dic[&quot;spam&quot;] # resulta: 'eggs' métodos: has_key(), get(), update(), items(), keys(), ...

Dicionários

Exemplo:

{ &quot;spam&quot;: 'eggs' }

Operações:

dic[&quot;spam&quot;] # resulta: 'eggs'

métodos: has_key(), get(), update(), items(), keys(), ...

Tipos mais importantes Arquivos (file) Exemplos: f = open(&quot;arquivo.txt&quot;, &quot;r&quot;) f = file(&quot;arq.bin&quot;, &quot;wb&quot;) Operações: for linha in open(&quot;arq.txt&quot;): pass métodos: read(), readline(), write(), readlines(), close(), ...

Arquivos (file)

Exemplos:

f = open(&quot;arquivo.txt&quot;, &quot;r&quot;)

f = file(&quot;arq.bin&quot;, &quot;wb&quot;)

Operações:

for linha in open(&quot;arq.txt&quot;): pass

métodos: read(), readline(), write(), readlines(), close(), ...

Slicing &quot;Fatia&quot; uma seqüência Sintaxe: sequencia[inicio:fim:step] Exemplos: &quot;spameggs&quot;[1] # &quot;p&quot; &quot;spameggs&quot;[-1] # &quot;s&quot; &quot;spameggs&quot;[1:5] # &quot;pame&quot; &quot;spameggs&quot;[1:] # &quot;pameggs&quot; &quot;spameggs&quot;[1:-1] # &quot;pamegg&quot; &quot;spameggs&quot;[::2] # &quot;saeg&quot; &quot;spameggs&quot;[::-1] # &quot;sggemaps&quot;

&quot;Fatia&quot; uma seqüência

Sintaxe:

sequencia[inicio:fim:step]

Exemplos:

&quot;spameggs&quot;[1] # &quot;p&quot;

&quot;spameggs&quot;[-1] # &quot;s&quot;

&quot;spameggs&quot;[1:5] # &quot;pame&quot;

&quot;spameggs&quot;[1:] # &quot;pameggs&quot;

&quot;spameggs&quot;[1:-1] # &quot;pamegg&quot;

&quot;spameggs&quot;[::2] # &quot;saeg&quot;

&quot;spameggs&quot;[::-1] # &quot;sggemaps&quot;

Comandos Condicional: if condicao: # comandos elif condicao: # comandos else: # comandos Não precisa dos parêntesis (&quot; if (condicao): &quot;) que foge ao style guide da linguagem Não é permitido atribuição: &quot; if f=x(1): &quot;

Condicional:

if condicao:

# comandos

elif condicao:

# comandos

else:

# comandos

Não precisa dos parêntesis (&quot; if (condicao): &quot;) que foge ao style guide da linguagem

Não é permitido atribuição: &quot; if f=x(1): &quot;

Comandos Repetição: while condicao: # comandos ... continue ... break else : # comandos

Repetição:

while condicao:

# comandos

... continue

... break

else :

# comandos

Comandos Iteração: for elemento in sequencia: # comandos else : # comandos Exemplo: for i in range(10): print i, # imprimirá: 0 1 2 3 4 5 6 7 8 9

Iteração:

for elemento in sequencia:

# comandos

else :

# comandos

Exemplo:

for i in range(10):

print i,

# imprimirá: 0 1 2 3 4 5 6 7 8 9

Comandos Excessões: try : # comandos except Exception , e: raise NewException , &quot;spam!&quot;

Excessões:

try :

# comandos

except Exception , e:

raise NewException , &quot;spam!&quot;

Funções Definição: def f(parametro): valor = &quot;x&quot; return valor def f(x, parm= 2 ): # parametro default return parm

Definição:

def f(parametro):

valor = &quot;x&quot;

return valor

def f(x, parm= 2 ): # parametro default

return parm

Funções Definição: def f(*parms): return parms print f( &quot;spam&quot; , &quot;eggs&quot; ) # ('spam', 'eggs')

Definição:

def f(*parms):

return parms

print f( &quot;spam&quot; , &quot;eggs&quot; )

# ('spam', 'eggs')

Funções Definição: def f(**kargs): return kargs print f(x= 1 , y= 2 ) # {'x': 1, 'y': 2}

Definição:

def f(**kargs):

return kargs

print f(x= 1 , y= 2 )

# {'x': 1, 'y': 2}

Orientação à objetos Definição de classe: class spam( object ): pass Construtor: &quot; __init__() &quot; Exemplo: class spam( object ): def __init__( self , parm): self.attr = parm eggs = spam( &quot;foo&quot; ) # instancia um objeto spam O parâmetro self deve ser explicitamente declarado nos métodos.

Definição de classe:

class spam( object ): pass

Construtor: &quot; __init__() &quot;

Exemplo:

class spam( object ):

def __init__( self , parm):

self.attr = parm

eggs = spam( &quot;foo&quot; ) # instancia um objeto spam

O parâmetro self deve ser explicitamente declarado nos métodos.

Módulos A biblioteca do Python vem organizada em módulos e packages. Importando em namespace separado: import modulo Importando para o namespace corrente: from modulo import *

A biblioteca do Python vem organizada em módulos e packages.

Importando em namespace separado:

import modulo

Importando para o namespace corrente:

from modulo import *

Módulos Exemplos: import sys import os from mail import * from modulo import Classe import pacote.subpacote.modulo from pacote import * Existem dezenas de módulos builtin ao Python e mais centenas de módulos de terceiros. RUDA: Cita os módulos mais importantes

Exemplos:

import sys

import os

from mail import *

from modulo import Classe

import pacote.subpacote.modulo

from pacote import *

Existem dezenas de módulos builtin ao Python e mais centenas de módulos de terceiros.

RUDA: Cita os módulos mais importantes

Módulos mais importantes sys – funcionalidades do ambiente Python os – funcionalidades do sistema operacional re – módulo de expressões regulares httplib – utilização de HTTP gzip – compressão xml – parsers xml sha, md5, ... - segurança / digests imaplib, poplib, telnetlib, ... - protocolos de rede ... entre outros

sys – funcionalidades do ambiente Python

os – funcionalidades do sistema operacional

re – módulo de expressões regulares

httplib – utilização de HTTP

gzip – compressão

xml – parsers xml

sha, md5, ... - segurança / digests

imaplib, poplib, telnetlib, ... - protocolos de rede

... entre outros

Mais informações www.pythonbrasil.com.br www.python.org diretamente com o Osvaldo (ou Rudá) www.google.com :) Aguarde a continuação deste mini-curso... (PyGTK ou Pygame)

www.pythonbrasil.com.br

www.python.org

diretamente com o Osvaldo (ou Rudá)

www.google.com :)

Aguarde a continuação deste mini-curso...

(PyGTK ou Pygame)

Add a comment

Related pages

Python 3 para no programadores (Spanish Edition) eBook ...

Python 3 para no programadores (Spanish Edition) eBook: Patricia González R.: Amazon.de: Kindle-Shop
Read more

Python para programadores - YouTube

Un video que explica los elementos básicos del lenguaje de programaciòn a programadores.
Read more

BeginnersGuide/Programmers - Python Wiki

BeginnersGuide; Programmers; Programmers; FrontPage; RecentChanges; FindPage; ... You are therefore free to add details of material that other Python users ...
Read more

Python para programadores PHP - Diego Cañizares - YouTube

Python para programadores PHP - Diego Cañizares ... Javascript para programadores python - Daniel F. Moisset - PyConAr 2012 - Duration: 44:34.
Read more

Tutor de Python para No-Programadores - Josh Cogliati's ...

Tutor de Python para No-programadores. Next: Front Matter Contenido. ... El autor concede permiso para distribuir versiones modificadas de este documento, ...
Read more

El viaje del navegante: Python, de programadores para ...

Python es framework un lenguaje de programacion de desarrollo multidimensional, esto es, sirve tanto para crear scripts de mantenimiento de sistemas ...
Read more

Inmersión en Python

Learning to Program - libro sobre Python para programadores novatos; How to Think Like a Computer Scientist - libro sobre Python para especialistas en ...
Read more

Python 3 para no programadores (Spanish Edition) Kindle ...

Amazon.com: Python 3 para no programadores (Spanish Edition) eBook: Patricia González R.: Kindle Store
Read more

BeginnersGuide/NonProgrammers - Python Wiki

Python for Non-Programmers. If you've never programmed before, the tutorials on this page are recommended for you; they don't assume that you have previous ...
Read more