Anda di halaman 1dari 42

A linguagem Python

Antonio Srgio Nogueira

A linguagem Python

Sumrio
- O interpretador Python - Tipos e Comandos - Controle de Fluxo - Funes, Recurso, Exceo, Arquivos - Biblioteca Padro - Orientao a Objeto

A linguagem Python

Instalar a verso para Windows


http://www.python.org/download/releases/2.5.4/

Abra Iniciar->Programas->Python2.5->IDLE

A linguagem Python

Linha de comando- experimente: >>>3+4 7 >>>5-5 #comentario python 0 >>>a=1 >>>b=2 >>>a+b 2 >>>b*a/a-a 1 >>>-7/3 #divisao inteira arredondada

A linguagem Python

Palavras reservadas

>>>str(1) '1' >>>str='abc' >>>str(1) .......................erro voc perdeu a referncia a funo

A linguagem Python

Tipos de dados: Simples:int,long,float,complex e strings 1,2,3 / 1L,-99999999L / 1.05,-19000.00005, 15e-5 1+1j,20j, 1000+100j / 'aaa' , bbb >>>print 1+1j-5j , (1+2j)/(1+1j) (1-4j) (1.5+0.5j) >>>a=15e-5*10 >>>print a 0.0015 >>>a=10L+3333333333 >>>print a 3333333343 >>>a=aaa

A linguagem Python
>>>a=1.5+0.5j >>>print a.real , a.imag 1.5 0.5j >>>a=complex(1.2,5.4) >>>print a (1.2+5.4j) >>>taxa=5 >>>preco=10 >>>taxa*preco 50 >>> print _ 50 >>>taxa=taxa+_ >>>taxa 55

A linguagem Python

STRING >>> print 'OI, tudo bem.' OI, tudo bem. >>>x=string com mais de \n\ uma linha >>>print x string com mais de uma linha. >>>a=string crua (raw) \n\ neste exemplo >>>print a string crua(raw) \n\ neste exemplo >>>print 1 linha 2 linha #veja o que acontece

A linguagem Python
print a[-1::-1] # de trs para frente print a.capitalize() , a.upper() , x.count('a') >>> x=u'123' #unicode doc string #documentacao de programas string entre 3 aspas

Tipos Compostos Lista, dicionrios, tuplas e conjuntos Lista: >>>lista=['1',2,'b'] >>>print lista ['1', 2, 'b'] Mtodos da lista: append,insert,count,extend, pop,remove,reserve,sort

A linguagem Python

Tuplas: so listas imutveis


>>>tupla=1,2,3 >>>print tupla (1,2,3) >>>tupla=() #vazia >>>tupla=1, #1 elemento >>>tupla (1,) >>>tupla=1,2,3 >>>x,y,z=tupla >>>tupla.__len__() 3 >>>tupla[0] 1 >>>tupla[3]=5 #veja o que acontece

A linguagem Python

Dicionrios:conjunto no ordenados de pares


{chave:valor[,chave1:valor1[,.....]]} >>>x={1:'1','2':2} >>>print x[1] 1 >>>print x['2'] 2 >>>x[3]=3 >>>print x[3] 3 >>>x.items() [(3, 3), (1, '1'), ('2', 2)] >>>x.keys() >>>x.values() >>>x.get('2') >>>x.has_key('2')

A linguagem Python

Operadores: * , / , + , - , ** , %(mdulo - resto da diviso) Atribuio: x=y=z=2 - atribui 2 a: x, y , z Operadores atribuio: +=, -=, /=, *=, **= a+=b a=a+b Operadores de condio: == , != , >= , <= , > , < , in, <>,is , is not >>>5 in (2,3,5) True >>>a=5 >>>b=a >>>a is b, a is not b Operadores lgicos: and, or,not Expresses Booleanas: 1==2, 1<2 and 2<3, not 1<2, 1<2 or 2<3

A linguagem Python

Variveis so de tipagem dinmica, o tipo assumido na hora da atribuio. >>>a=3 >>>type(a) #mostra o tipo de varivel <type 'int'> Em Python tudo objeto e possui mtodo e atributo. >>>a='alo' >>>a.upper() 'ALO' Operador % >>>nome='Nogueira' >>>print 'Meu nome: %s %nome >>>a=23.34567 >>>print numero:%2.3%a

A linguagem Python

Controle de fluxo
while <expresso>: >>>x=1 >>>while x<10: print x, x=x+1 123456789 >>>a,b=0,1 >>>while b<1000: print b, a,b=b,a+b 1 1 2 3 5 ..........

A linguagem Python

for <item> in [sequencia]: >>>a=['antonio','sergio','nogueira'] >>>for i in a: print i, antonio sergio nogueira Funo range #gerar sequncia numrica >>>for i in range(1,5): print i, 12345

A linguagem Python

break, continue, else break interromper o lao continue continua no prximo passo do lao else - executado quando o lao termina na exausto >>>a=['a','b','c'] >>>for i in a: print i, else: print 'oi' a b c oi

A linguagem Python

if <condio>: <comandos>[elif

<condio>:<comandos>[elif...]else <comandos>]

>>>if x==0: print zero elif x<0: print negativo else: print positivo pass quando a semntica exige (no faz nada) >>> while True: pass

A linguagem Python

Tcnicas de Lao >>>dicionario={1:'1',2:'2'} >>>for i,j in dicionario.interitems(): # chave,valor print i,j 1,1 2,2 zip() - percorrer 2 sequncias simultaneamente nome=[sergio,jose,antonio] profissao=[jogador,medico,analista] for i,j in zip(nome,profissao): print %s e %s %(i,j)

A linguagem Python

Funes reverse(), sorted(), enumerate() >>>a=[a,d,c] >>>a=sorted(a) ['a','c','d'] >>>a=['a','c','d'] >>>for i in reversed(a): print i, dca >>>for i,j in enumerate(a): print i,j 1a 2c 3d

A linguagem Python

Estrutura de dados Pilha- append(), pop() >>>pilha=[1,2,3] >>>pilha.append(4) >>>pilha.append(6) >>>pilha [1,2,3,4,6] >>>pilha.pop() 6 >>>pilha.pop() 4 >>>pilha [1,2,3]

A linguagem Python

Fila ou FIFO (first in first out) >>>fila=[1,3,4,5] >>>fila.append(6) >>>fila [1,3,4,5,6] >>>fila.pop(0) 1 >>>fila [3,4,5,6] Funes sob lista filter(), map(), reduce() >>>def f(x):return(x-10>0) >>>filter(f,range(2,20))

A linguagem Python

map(funo,sequncia) >>>def quadrado(x): return(x**2) >>>map(quadrado,range(1,5)) [1,4,9,16] reduce(funcao,sequencia) (retorna um valor construdo a partir da sequncia) >>>def soma(x,y):return(x,y) >>>reduce(soma,range(1,5)) 10 List comprehension (em portugus, lista por compreenso) um construtor de processamento de listas em linguagem de programao, a notao matemtica a seguinte: S={x|x N,<condio de x>}

A linguagem Python
>>>vetor=[1,2,3] >>>[3*x for x in vetor if x>=2] [6,9] del remove elementos da lista >>>a=[1,2,3] >>>del a[0] >>>a [2, 3] set conjunto(coleo desordenada) >>>a='abacaxi' >>>set(a) set(['a','x','c','b','i'])

A linguagem Python
>>>fruta=['pera','mamao','abacate'] >>>salada=['maca','laranja','pera'] >>>f=set(fruta) >>>s=set(salada) >>>a^b set(['abacate','laranja','mamao','maca']) >>>a-b set(['abacate','mamao']) >>>a&b set(['pera']) >>>a|b set(['pera','maca','abacate','laranja','mamao'])

A linguagem Python

Comando de Ajuda >>>help(zip) ............... Funes blocos de cdigos com um nome def nome_funcao(arg1,arg2,......,argn) <bloco de cdigo> return valor_de_retorno(opcional) Exemplo: >>>def x(y): return(x*2) >>>x(2) 4

A linguagem Python

Escopo das Variveis >>>v=0 >>>def x(t): global v v=1 >>>x(1) >>>v 1 #retire global v e faa v=0 e veja o q acontece #acessa tabela local/ global e tabela interna(built-in)

A linguagem Python

Funo c/ mudana de tipo em execuo >>>def x(a,b): return(a+b) >>>x(1,2) 3 >>>x('a','b') 'ab' Funo com valor default >>>def multiplica(a,b=2): return(a*b) >>>multiplica(2) 4

A linguagem Python

Funes com argumentos opcionais >>>def somatorio(*valor): soma=0 for x in valor: soma+=x return soma >>>somatorio(2,3,4) 9 Funo lambda lambda x,y:x+y def soma(a,b): return lambda a,b:a+b Funes recursivas

A linguagem Python

Funes pr-definidas range(a,b), len(a), round(a,n), pow(a,n) ou a**n, chr(n), unichr(n), ord(a), min(a,b), max(a,b), abs(n), hex(n), oct(n), float(n), int(n),str(n), list(i), tuple(i)

A linguagem Python

Mdulo um arquivo contendo comandos e definies (*.py) #funcao.py def quadrado(x): return x**2 def multiplica(x): return x*2

>>>from funcao import quadrado


>>>quadrado(2) 4 >>>import funcao >>>funcao.quadrado(2) 4

A linguagem Python

Mdulos Padro - descrito em Python Library Reference contm tipos de dados, funes de built-in,

mdulo sys >>>import sys >>>dir (sys) >>>sys.path >>>sys.__doc__ >>>sys.argv

A linguagem Python

Mdulos Importantes sys, time, os, os.path, string, math, random, getopt(argumentos de comando de linha), tkinter, pickle

Entrada e Sada >>>import sys >>>sys.stdout.write('oi') >>>print 'oi' >>>sys.stdin.readline() >>>raw_input() >>>x=raw_input('Digite seu nome:') >>>x=int(raw_input(Sua idade:))

A linguagem Python

Operaes com arquivos Assim como em outras linguagens possvel manipular arquivos. >>>arq=open(texto,w) #abre texto para gravar >>>arq.write(Escrevendo e \n saltando linha) >>>arq.close() #fecha arquivo >>>arq=open(texto,rw) #abre no modo r/w >>>arq.read() #le arquivo inteiro >>>arq.seek(0)#vai p/ inicio do arquivo >>>arq,readline() #le 1 linha >>>opes de abertura do arquivo: file r-leitura wescrita a-append >>>help(file)

A linguagem Python

Arquivos pickle manipula objetos como se fosse string utilizado em persistncia de dados >>>f=open(expickle.txt,rw) >>>import pickle >>>pickle.dump(54.3,f) >>>pickle.dump([11,22,33],f) >>>f.close() >>>f=open(expickle.txt,rw) >>>x=pickle.load(f) >>>x 54.299999999999997 >>>y=pickle.load(f) [11,22,33]

A linguagem Python

Mdulo os funes e variveis que ajudam o Python a se adequar ao sistema operacional. os.system permite usar comandos do sistema operacional. >>>import os >>>a=os.system >>>a(dir) No digite: a(format c:)?????? >>>os.chdir(dir) # troca diretrio >>>os.startfile('c.bat') # executa arquivo bat e exe

A linguagem Python

Tratamento de Erro

>>>while True: try: x=int(raw_input(entre numero:)) break except ValueError: print Errado. Tente de novo. for arg in sys.argv[1] try: f=open(arg,'r') except IOError: print 'nao posso abrir'', arg else print arg, 'tem', len(f.readlines()),'linhas'

A linguagem Python

Mdulo math >>>import math >>>math.cos(math.pi/4.0) >>>math.log(1024,2) Mdulo random >>>import random >>>random.choice(['a','b','c']) >>>random.random() Mdulo datetime >>>from datetime import date >>>now=date..today() Mdulo zlib >>>import zlib >>>t=zlib.compress(x) # x uma string

A linguagem Python

Orientao a Objeto
POO simular mundo real no computador(objetos) Objeto tipo abstrato que contm dados e procedimentos -mensagens envios, interpretaes e respostas -mtodos procedimentos e funes internas -variveis ou propriedades so dados do objeto quando ele instnciado -classe representao de um objeto -hereditariedade permite a criao de classes a partir de outra. -encapsulamento ou abstrao mecanismo de acesso aos dados do objeto apenas atravs de um mtodo. -Polimorfismos vrios resultados diferente

A linguagem Python

Em Python todos os dados so objetos class nome: var=valor ...... var=valor def metodo(arg): ........ class MinhaClasse: '''Um exemplo simples''' i=123435 def f(self): return 'Ola mundo' >>>f=MinhaClasse() #instanciao criar objeto vazio >>>f.__doc__

A linguagem Python

__init__() - serve para definir parmetros iniciais >>>class Homem(object): i=0 __x=0 def __init__(self): print 'inicializei' >>>x=Homem() >>>x.__x # vai dar erro, varivel privada, mtodo tambm comeando com __ privado >>>class Soma(object): def __init__(self,entrada): self.valor=entrada def __add__(self,other): #mtodo especial return self.valor+other.valor

A linguagem Python

Introspeco / reflexo -propriedades de sistemas orientados a objetos que qualificam a existncia de mecanismos para descobrir e alterar, em tempo de execuo, informaes estruturais sobre um programa e objetos existentes neste. >>>dir(obj) Classes vazias >>>class Animal(object): pass >>>baleia=Animal() >>>baleia.nome=moby >>>dir (baleia) >>>baleia.nome >>>class Animal(object): nome='moby'

A linguagem Python

Threads fluxos de execuo que rodam dentro de uma


Sockets comunicao entre aplicativos: Stream e

aplicao.

Datagram(usado transmisso de vdeos, ...)

Anda mungkin juga menyukai