Sei sulla pagina 1di 5

print('Ol, Mundo!

')

[editar] Imprimindo uma lista ordenada com os itens com a primeira letra em maiscula
lista = ['laranja', 'banana', 'uva'] lista.sort() for item in lista: print item.capitalize()

[editar] Contando palavras em um arquivo


arquivo = file('text.txt') palavras = arquivo.read().split() unicas = set(palavras) print 'Palavras: %d. Tirando as repetidas: %d' % (len(palavras), len(unicas))

[editar] Nmeros perfeitos


Calcula n nmeros perfeitos.
def is_numero_perfeito(n=0): if n == 0: return False return sum(x for x in range(1,n) if not n%x) == n def numeros_perfeitos(n=0): cont = 0 i = 0 while cont < n: if is_numero_perfeito(i): print i cont = cont+1 i=i+1 numeros_perfeitos(3)

[editar] Enviando e-mail


import smtplib server = smtplib.SMTP('mail.xx.net') # Envio de e-mail da conta @xy para a conta @xx server.sendmail('leonardo@xy.com', 'leonardo@xx.net', """To: leonardo@xx.net From: leonardo@xy.com Subject: Teste de envio de email Estou lhe enviando este email como um teste. """)

server.quit() print 'Envio OK'

[editar] Clculos matemticos


>>> from math import * >>> x = 5 >>> sqrt(x) 2.2360679774997898 >>> sin(x) -0.95892427466313845 >>> log(x) 1.6094379124341003 >>> cos(x) 0.28366218546322625

[editar] Sequncia de Fibonacci


valor = int(raw_input("Digite o valor: ")) a, b = 0, 1 while b < valor: print b a, b = b, a+b

[editar] Retornar o quadrado de um valor


def pot(a): return(a*a)

[editar] Retornar o quadrado de uma sequncia


[x*x for x in range(1,11)]

[editar] Somar os cem primeiros naturais


>>>sum(x for x in xrange(101)) >>>5050

ou ainda
sum(range(1,101))

[editar] Orientao a objetos


class A: a = 1 # atributo publico class B(A): # classe B est herdando A _c = 3 # atributo considerado privado def __init__(self): # mtodo especial que pode ser considerado "construtor" print self.a print self._c a = A() print isinstance(a, B) # ''Objeto a'' uma instncia da ''classe B''? Falso. a = B() # Instanca o ''objeto a'' na ''classe B'' e imprime os atributos da classe. print isinstance(a, B) # ''Objeto a'' uma instncia da ''classe B''?Verdadeiro. b = B() # Instanca o ''objeto b'' na ''classe B'' e imprime os atributos da classe. print isinstance(b, B) # ''Objeto b'' uma instncia da ''classe B''? Verdadeiro. b = A() # Instanca o ''objeto b'' na ''classe A''. print isinstance(b, A) # ''Objeto b'' uma instncia da ''classe A''? Verdadeiro.

[editar] Encapsulamento
Em Python no existe proteo dos membros de uma classe ou instncia pelo interpretador, o chamado encapsulamento. Convenciona-se que atributos com o nome comeando com um _ so de uso privado da classe, mas no h um policiamento do interpretador contra acesso a estes atributos. Uma exceo so nomes comeando com __, no caso em que o interpretador modifica o nome do atributo.
class A: a = 1 # atributo publico _b = 2 # atributo de uso privado __c = 3 # atributo de uso privado, tem o nome modificado para _A__c a = A() print a.a # imprime 1 print a._b # vlido, mas desencorajado print a.__c # invlido, atributo inexistente print a._A__c # vlido, mas *fortemente* desencorajado

[editar] Polimorfismo
class Pessoa: def __init__(self, nome ='', idade=0):

self.nome = nome self.idade = idade def getIdade(self): return self.idade class PessoaCPF(Pessoa): def __init__(self, CPF, nome='', idade=0): Pessoa.__init__(self, nome, idade) self.CPF = CPF ####################################### # Expondo o mtodo __init__ a = Pessoa() Pessoa.__init__(a, 'Leonardo', 22) b = PessoaCPF('122.333.332-1', nome='', idade=0) print a.nome print a.idade print b.CPF # imprime Leonardo # imprime 22 # imprime 122.333.332-1

####################################### # No expondo o mtodo __init__ a = Pessoa('Leonardo', 22) b = PessoaCPF('122.333.332-1', a) print a.nome print a.idade print b.CPF # imprime Leonardo # imprime 22 # imprime 122.333.332-1

[editar] Compreenso de listas


Os exemplos abaixo usam a tcnica de compreenso de listas. Este exemplo calcula as cinco primeiras potncias de dois:
powers_of_two = [2**n for n in xrange(1, 6)]

Este exemplo uma implementao do algoritmo quicksort.


def qsort(L): if L == []: return [] pivot = L[0] return (qsort([x for x in L[1:] if x < pivot]) + [pivot] + qsort([y for y in L[1:] if y >= pivot]))

[editar] Closures
O exemplo abaixo demonstra o uso de closures em Python:

# Retorna uma funo que aproxima a derivada de f usando o intervalo dx, que deve ser pequeno. def derivada(f, dx): def funcao(x): return (f(x + dx) - f(x)) / dx return funcao

[editar] Geradores
Segue exemplo da gerao preguiosa de nmeros primos que usa a tcnica de gerador:
from itertools import count def gera_primos(parar_em=0): primos = [] for n in count(2): if 0 < parar_em < n: return # lana a exceo StopIteration composto = False for p in primos: if not n % p: composto = True break elif p**2 > n: break if not composto : primos.append(n) yield n for i in gera_primos(): if i > 100: break print i

A definio do gerador aparenta ser idntica a de uma funo, mas difere pela palavrachave yield usada no lugar de return. Na verso 2.4 foi introduzida a possibilidade de interagir compreenso de listas com geradores. Dado o gerador de nmeros primos acima, pode-se definir a coleo preguiosa abaixo.
from itertools import islice primeiro_milhao_de_primos = (i for i in gera_primos() if i < 1000000) Primo_dois_mil = islice(primeiro_milhao_de_primos, 2000, 2001).next()

Potrebbero piacerti anche