Buscar

Oficina_Python_prog

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução à Programação com 
Python
Wandeson Ricardo
2013
http://www.guiratek.com.br
http://www.wanartsci.blogspot.com
Wandeson Ricardo
2013
http://www.guiratek.com.br
http://www.wanartsci.blogspot.com
 
Sumário
● Introdução e Algoritmos
● Tipos de dados e Operações
● Variáveis e Estruturas de Controle e Repetição
● Funções e Arquivos
● Programação Orientada à Objetos
● Momento H4ck3r: Praticando Codificando
● Criando um Game com Python e Aprendendo OO na 
Prática
● FIM
● Introdução e Algoritmos
● Tipos de dados e Operações
● Variáveis e Estruturas de Controle e Repetição
● Funções e Arquivos
● Programação Orientada à Objetos
● Momento H4ck3r: Praticando Codificando
● Criando um Game com Python e Aprendendo OO na 
Prática
● FIM
 
Objetivos
● Apresentar as noções básicas de programação de 
computador
● Apresentar a sintaxe da linguagem python
● Apresentar exemplos de recursos python
● Apresentar as noções básicas de programação de 
computador
● Apresentar a sintaxe da linguagem python
● Apresentar exemplos de recursos python
 
Introdução
● Fundamentos de Hardware
O hardware é composto pelos seguintes componentes:
1. Unidade de Entrada e Saída;
2. Unidade Central de Processamento, UCP (CPU);
3. Memória Principal.
● Fundamentos de Hardware
O hardware é composto pelos seguintes componentes:
1. Unidade de Entrada e Saída;
2. Unidade Central de Processamento, UCP (CPU);
3. Memória Principal.
 
Introdução
● Lógica
● Conectivos Lógicos: permitem a criação expressões 
cujos valores retornados são valores verdade 'v' 
(verdadeiro, True, 1) ou 'f' (falso, False, 0)
– E
– Ou
– Não
● Lógica
● Conectivos Lógicos: permitem a criação expressões 
cujos valores retornados são valores verdade 'v' 
(verdadeiro, True, 1) ou 'f' (falso, False, 0)
– E
– Ou
– Não
 
Tabela Verdade: E
a b a E b
1 1 1
0 1 0
1 0 0
0 0 0
a b a E b
1 1 1
0 1 0
1 0 0
0 0 0
 
Tabela Verdade: Ou
a b a Ou b
1 1 1
0 1 1
1 0 1
0 0 0
a b a Ou b
1 1 1
0 1 1
1 0 1
0 0 0
 
Tabela Verdade: não
a não a
1 0
0 1
a não a
1 0
0 1
 
Conectivos Lógicos - Exemplos
Digite no IDLE Python
● >>> True or False
● True
● >>>( (True and False) or True)
● True
● Obs.: Resolver primeiro parênteses mais 
internos. 
Digite no IDLE Python
● >>> True or False
● True
● >>>( (True and False) or True)
● True
● Obs.: Resolver primeiro parênteses mais 
internos. 
 
Algoritmos
● Definição:
Uma sequência finita de instruções para resolução de um 
dado problema ou execução de uma determinada tarefa 
através de passos lógicos bem definidos e não-ambíguos. 
● Definição:
Uma sequência finita de instruções para resolução de um 
dado problema ou execução de uma determinada tarefa 
através de passos lógicos bem definidos e não-ambíguos. 
 
Tipos de Dados
● Python possui tipagem dinâmica, ou seja, o tipo pode ser 
definido quando feita uma atribuição. Também é permitida 
conversão.
● Inteiros, reais, listas, tuplas, dicionários, números 
complexos (z = a+b*i), ...
● Python possui tipagem dinâmica, ou seja, o tipo pode ser 
definido quando feita uma atribuição. Também é permitida 
conversão.
● Inteiros, reais, listas, tuplas, dicionários, números 
complexos (z = a+b*i), ...
 
● Exemplos
● Inteiros: i = 1
● Reais (ponto flutuante/float): i = 1.0
● String: s = “Ola teste!” 
● Listas: lista = [1, 2, 3]
● Dicionário: dic = {0: 'Pedro', 1: 'Maria', 2: 'Viviane'}
● Tuplas: tupl = (1,2,3) 
● Complexos: num_comp = complex(1,2) # z = 1+2i
Obs.: 
● Exemplos
● Inteiros: i = 1
● Reais (ponto flutuante/float): i = 1.0
● String: s = “Ola teste!” 
● Listas: lista = [1, 2, 3]
● Dicionário: dic = {0: 'Pedro', 1: 'Maria', 2: 'Viviane'}
● Tuplas: tupl = (1,2,3) 
● Complexos: num_comp = complex(1,2) # z = 1+2i
Obs.: i=√−1
 
Operações
● Adição: +
● Subtração: -
● Multiplicação: *
● Divisão: /
– S = 2.0/2.0 #Retorna real (inteiro/inteiro = inteiro, 
inteiro/real = real)
● Resto de divisão inteira: %
– r = 4%2 # r será igual a 0
● Exponenciação: ** 
– i = 2**2 # i valerá 4
● Adição: +
● Subtração: -
● Multiplicação: *
● Divisão: /
– S = 2.0/2.0 #Retorna real (inteiro/inteiro = inteiro, 
inteiro/real = real)
● Resto de divisão inteira: %
– r = 4%2 # r será igual a 0
● Exponenciação: ** 
– i = 2**2 # i valerá 4
 
Operações – Ordem de 
Precedência
● Da aritmética básica temos que determinados operadores 
(+ adição, / divisão,** potência, * multiplicação, - 
subtração) tem precedência maior:
Exemplo 1:
F = 2*3+2-1 é F=2*3+2-1=6+2-1=8-1=7
1. potências, raízes(radiciação);
2. resto de divisão inteira %, multiplicação e divisão;
3.soma, subtração;
4. Obs.: A ordem é alterada quando a operação está 
envolvida em 'parênteses'. 
● Da aritmética básica temos que determinados operadores 
(+ adição, / divisão,** potência, * multiplicação, - 
subtração) tem precedência maior:
Exemplo 1:
F = 2*3+2-1 é F=2*3+2-1=6+2-1=8-1=7
1. potências, raízes(radiciação);
2. resto de divisão inteira %, multiplicação e divisão;
3.soma, subtração;
4. Obs.: A ordem é alterada quando a operação está 
envolvida em 'parênteses'. 
 
Operações – Ordem de 
Precedência
Da alteração do exemplo poderiamos fazer
G = 2*(3+2-1) (aplicando propriedade da distributividade) 
temos
G = 2*3+2*2-2*1=2*3 + 2*2 – 2*1 = 6+4-2=10-2=8
ou 
G = 2*(3+2-1)=2*(5-1)=2*4=8
Exemplo 2: (Cuidado!) 3*2**2 != (3*2)**2
Lado esquerdo é diferente do lado direito.
Lado esquerdo temos resultado 12 e no direito 36.
Da alteração do exemplo poderiamos fazer
G = 2*(3+2-1) (aplicando propriedade da distributividade) 
temos
G = 2*3+2*2-2*1=2*3 + 2*2 – 2*1 = 6+4-2=10-2=8
ou 
G = 2*(3+2-1)=2*(5-1)=2*4=8
Exemplo 2: (Cuidado!) 3*2**2 != (3*2)**2
Lado esquerdo é diferente do lado direito.
Lado esquerdo temos resultado 12 e no direito 36.
 
Variáveis 
● Definição: pode-se pensar em uma variavel como um 
'campo' (uma gaveta em um armário de arquivos) que 
conterá um determinado valor de um respectivo tipo na 
memória do computador.
● Exemplos:
– Real = 1.2
– String = “Ola Mundo”
– num_complexo = complex(1.0, 2.0) # 1.0 + 2.0*i
– Lista = ['1', 'Oi']
– Dicionário = {'chave_1': 'valor_1, 'chave_2': 'valor_2}
– Tupla = (1,2,3,4) #(ou tupla = ('a', 1, 'b') mesmo para 
lista e dicionários)
– Boolean/Lógicos: L = True #L é recebe valor 
True/Verdadeiro
● Definição: pode-se pensar em uma variavel como um 
'campo' (uma gaveta em um armário de arquivos) que 
conterá um determinado valor de um respectivo tipo na 
memória do computador.
● Exemplos:
– Real = 1.2
– String = “Ola Mundo”
– num_complexo = complex(1.0, 2.0) # 1.0 + 2.0*i
– Lista = ['1', 'Oi']
– Dicionário = {'chave_1': 'valor_1, 'chave_2': 'valor_2}
– Tupla = (1,2,3,4) #(ou tupla = ('a', 1, 'b') mesmo para 
lista e dicionários)
– Boolean/Lógicos: L = True #L é recebe valor 
True/Verdadeiro
 
Variáveis
● OBS.: A variavel do tipo tupla (tuple) não pode ter seu 
valor alterado por uma atribuição como
t = (1,2,3)
t[1] = 2 #retornara erro 'TypeError: 'tuple' object does not 
support item assignment' o objeto tipo tupla não suporta 
alteração.
Nota: t[1] → retorna o segundo elemento 2, já que para t[i] 
temos i=0,1,2,...,n-1,onde n é o comprimento ou número 
de elementos do vetor/lista, ou seja, o índice do vetor/lista 
inicia em zero e vai até n-1.
● OBS.: A variavel do tipo tupla (tuple) não pode ter seu 
valor alterado por uma atribuição como
t = (1,2,3)
t[1] = 2 #retornara erro 'TypeError: 'tuple' object does not 
support item assignment' o objeto tipo tupla não suporta 
alteração.
Nota: t[1] → retorna o segundo elemento 2, já que para t[i] 
temos i=0,1,2,...,n-1,onde n é o comprimento ou número 
de elementos do vetor/lista, ou seja, o índice do vetor/lista 
inicia em zero e vai até n-1.
 
Estruturas de Controle If...elif...Else
Formato:
If (condição): 
{comandos}
elif:
{comandos}
...
else: 
{comandos}
OBS.: Comandos elif e else não são obrigatórios mas podem 
ser necessários. A instrução elif equivale a else if (senão se, 
respectivamente).Obs.: condição é uma expressão lógica envolvendo 
operadores relacionais como: == (igual), != (diferente), < 
(menor), > (maior), <= (menor igual à), >= (maior igual à).
Formato:
If (condição): 
{comandos}
elif:
{comandos}
...
else: 
{comandos}
OBS.: Comandos elif e else não são obrigatórios mas podem 
ser necessários. A instrução elif equivale a else if (senão se, 
respectivamente).
Obs.: condição é uma expressão lógica envolvendo 
operadores relacionais como: == (igual), != (diferente), < 
(menor), > (maior), <= (menor igual à), >= (maior igual à).
 
Estruturas de Controle If...elif...Else
Exemplos:
1. i=0
 if i == 0:
print 'O valor de i é igual a 0. Condição 
(i==0) verdadeira'
2. nome = 'Maria'
if nome != 'Maria':
print 'Nome incorreto'
else:
print 'Ok! Você digitou nome correto.'
Obs.: a condição em (1) é i==0, ou seja, i ser igual à zero. 
Portanto 'se i==0 é verdade' a linha seguinte será executada. 
O mesmo pode ser visto em (2) com o operador relacional != 
diferente de. 
Exemplos:
1. i=0
 if i == 0:
print 'O valor de i é igual a 0. Condição 
(i==0) verdadeira'
2. nome = 'Maria'
if nome != 'Maria':
print 'Nome incorreto'
else:
print 'Ok! Você digitou nome correto.'
Obs.: a condição em (1) é i==0, ou seja, i ser igual à zero. 
Portanto 'se i==0 é verdade' a linha seguinte será executada. 
O mesmo pode ser visto em (2) com o operador relacional != 
diferente de. 
 
Estruturas de Controle If...elif...Else
3. i, j = 2, 5
if i > j:
print ' i é maior que j'
elif i == j:
print 'i é igual à j'
else:
print 'i é menor que j'
3. i, j = 2, 5
if i > j:
print ' i é maior que j'
elif i == j:
print 'i é igual à j'
else:
print 'i é menor que j'
 
Estrutura de Repetição while...
Formato: 
1 while (condição):
2 {comandos}
Obs.: Comandos na linha 2 serão executados enquanto 
'condição' for verdadeira (True/1).
Formato: 
1 while (condição):
2 {comandos}
Obs.: Comandos na linha 2 serão executados enquanto 
'condição' for verdadeira (True/1).
 
Estrutura de Repetição while...
Exemplo:
i = 0
1. while i <= 10:
2. print 'i = ', i
3. i += 1
O trecho acima imprime na tela números de 0 até 10. O 
trecho (2) é executado enquanto a condição i<=10 for 
verdadeira.
Exemplo:
i = 0
1. while i <= 10:
2. print 'i = ', i
3. i += 1
O trecho acima imprime na tela números de 0 até 10. O 
trecho (2) é executado enquanto a condição i<=10 for 
verdadeira.
 
Execução
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
 i é iniciado com 
valor zero
 
Execução
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
executando 
instrução 'while' 
(enquanto) 
verificando se i < 10
como i vale 0 
prossegue para (3).
 
Execução
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
imprime na tela -> i = 
0
 
Execução
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
incrementa com 1 a 
variável i, ou seja, 
soma 1 a i. Também 
poderia ser escrito 
como i += 1
 
Execução
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
Entra novamente no 
'loop' criado pela 
instrução 'while' e 
testa se 
i <= 10, como temos i 
= 1 prossegue para a 
linha(3)
 
Execução
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
agora imprime -> i = 
1
 
Execução
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
 
incrementa 
novamente a variável 
i
 
Execução
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
E assim sucessivamente até i ser maior que10...
Quando isso ocorrer teremos
 
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i + 1
E assim sucessivamente até i ser maior que10...
Quando isso ocorrer teremos
 
 
Execução: Fim do Loop while
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i +1
 1. i = 0
2. while i <= 10:
3. print 'i = ', i
4. i = i +1
i agora vale 11 e ao 
executar (2) o
teste da condição i <= 
10 retornará falso e o 
'loop' while é fechado.
Processo semelhante 
ocorrerá quando da 
execução da instrução 
for i in lista:
 {comandos}
 
Comandos Break e Continue
● Comando Break: força a saída do loop seguindo para 
instrução seguinte fora do loop (repetição):
Exemplo:
1 i = 0
2 while i <= 10:
3 print 'i = ', i
4 if i == 5:
5 break
6 i +=1
7 print 'Fim'
A variável i inicia com 0 entra-se no loop na linha2 e 
emseguida imprime-se o valor de i na tela. Na 4 testa-se se i 
é igual a 5 se verdade a linha 7 é executada senão 
incrementa-se i em 6 volta pra linha 2.
● Comando Break: força a saída do loop seguindo para 
instrução seguinte fora do loop (repetição):
Exemplo:
1 i = 0
2 while i <= 10:
3 print 'i = ', i
4 if i == 5:
5 break
6 i +=1
7 print 'Fim'
A variável i inicia com 0 entra-se no loop na linha2 e 
emseguida imprime-se o valor de i na tela. Na 4 testa-se se i 
é igual a 5 se verdade a linha 7 é executada senão 
incrementa-se i em 6 volta pra linha 2.
 
Comandos Break e Continue 
● Continue: salta para o loop sem executar as instruções 
posteriores a ele;
Exemplo:
1 i = 0
2 while i < 5:
3 i += 1
4 if i == 3:
5 continue
6 print i
Exibe os números de 1 ate 5. Note o incremento na linha 3 
de i e e que o valor 3 não será exibido na contagem, já 
continue forçará um salto da linha 5 para a linha 2.
Obs.: O mesmo poderia ser feito com a instrução for como 
veremos adiante.
● Continue: salta para o loop sem executar as instruções 
posteriores a ele;
Exemplo:
1 i = 0
2 while i < 5:
3 i += 1
4 if i == 3:
5 continue
6 print i
Exibe os números de 1 ate 5. Note o incremento na linha 3 
de i e e que o valor 3 não será exibido na contagem, já 
continue forçará um salto da linha 5 para a linha 2.
Obs.: O mesmo poderia ser feito com a instrução for como 
veremos adiante.
 
Estrutura de Repetição for
Formato Básico: 
1. for variável in lista:
2. {comandos}
Exemplo:
1. for i in range(5):
2. print i
Saída
0
1
2
3
4
Obs.: a variável 'i' assume cada valor contido na lista.
Formato Básico: 
1. for variável in lista:
2. {comandos}
Exemplo:
1. for i in range(5):
2. print i
Saída
0
1
2
3
4
Obs.: a variável 'i' assume cada valor contido na lista.
 
Funções/Procedimentos/Métodos
Acima vimos o uso de uma função a 'range' a qual recebe 1 
ou mais parâmetros como entrada e retorna uma lista com 
valores no intervalo (0, n-1).
Basicamente, de forma simples, o objetivo de uma função é 
simplificar a codificação isolando um determinado tipo de 
tarefa que deve, e é útil em casos gerais, ser usada com 
grande frequência tornando assim o código mais organizado 
e reutilizável. 
Uma função basicamente têm a forma
def <nome da função>(parametro_entrada_da_função)
“““Documentação”””
{comandos}
{<return> valor}
Podendo ser comparada à uma função em matemática
 y= f(x) por exemplo.
Acima vimos o uso de uma função a 'range' a qual recebe 1 
ou mais parâmetros como entrada e retorna uma lista com 
valores no intervalo (0, n-1).
Basicamente, de forma simples, o objetivo de uma função é 
simplificar a codificação isolando um determinado tipo de 
tarefa que deve, e é útil em casos gerais, ser usada com 
grande frequência tornando assim o código mais organizado 
e reutilizável. 
Uma função basicamente têm a forma
def <nome da função>(parametro_entrada_da_função)
“““Documentação”””
{comandos}
{<return> valor}
Podendo ser comparada à uma função em matemática
 y= f(x) por exemplo.
 
Funções/Procedimentos/Métodos
Funções em Python:
def soma(a,b):
return (a+b)
def show(msg):
print msg
Uso:
>>> P = soma(2,3)
>>> print P
>>> 5
O valor P será 5 que é o valor retornado pela funçãosoma.
Obs.: Outro caminho para criar funções é com o uso da 
diretiva lambda.
>>>f = lamda x,y: x+y #uso f(2,3), x e y parametros e entrada
Funções em Python:
def soma(a,b):
return (a+b)
def show(msg):
print msg
Uso:
>>> P = soma(2,3)
>>> print P
>>> 5
O valor P será 5 que é o valor retornado pela função soma.
Obs.: Outro caminho para criar funções é com o uso da 
diretiva lambda.
>>>f = lamda x,y: x+y #uso f(2,3), x e y parametros e entrada
 
Funções/Procedimento/Métodos
import urllib #importar o módulo urllib
 
Funções/Procedimentos/Métodos
Testando
#obtêm nome do site
url_name = raw_input("Digite url(endereço do site): ") 
html = urllib.urlopen(url_name) #abre site
page_content = html.read() # lê conteúdo do site
print extract_link(url_name) #imprime primeiro url encontrado
Testando
#obtêm nome do site
url_name = raw_input("Digite url(endereço do site): ") 
html = urllib.urlopen(url_name) #abre site
page_content = html.read() # lê conteúdo do site
print extract_link(url_name) #imprime primeiro url encontrado
 
Arquivos
● A função open(): retorna a referência para um arquivo do 
qual serão lidos os dados.
Sintaxe: open('nome_do_arquivo', modo)
O modo pode ser (como string/letra) 'w' (escrita/write), 
'r'(leitura/read) e a(append).
'w' – abre arquivo em modo escrita para adicionar conteúdo;
'r' – abre arquivo no modo para leitura;
'a' – abre arquivo para escrita com novo conteúdo sendo 
adicionado ao final do mesmo.
● A função open(): retorna a referência para um arquivo do 
qual serão lidos os dados.
Sintaxe: open('nome_do_arquivo', modo)
O modo pode ser (como string/letra) 'w' (escrita/write), 
'r'(leitura/read) e a(append).
'w' – abre arquivo em modo escrita para adicionar conteúdo;
'r' – abre arquivo no modo para leitura;
'a' – abre arquivo para escrita com novo conteúdo sendo 
adicionado ao final do mesmo.
 
Arquivos
● Lendo e imprimindo conteúdo:
arq = open('teste.txt') #open('teste.txt','r') modo 'leitura'
#read() lê conteúdo do arquivo e retorna-o como string.
#String sequência de caracteres
conteudo_arq = arq.read()
print conteudo_arq #exibe conteudo do arquivo teste.txt
● Lendo e imprimindo conteúdo:
arq = open('teste.txt') #open('teste.txt','r') modo 'leitura'
#read() lê conteúdo do arquivo e retorna-o como string.
#String sequência de caracteres
conteudo_arq = arq.read()
print conteudo_arq #exibe conteudo do arquivo teste.txt
 
Arquivos
Outras Funções:
readline() - lê linha de um arquivo e incrementa posição no 
arquivo;
readlines() - lê conteúdo e retorna lista contendo em cada 
elemento da lista a linha linha lida do arquivo;
write(dados) - escreve dados em arquivo aberto (modo a 
e/ou w);
close() - fecha o arquivo aberto, salvando alterações se 
necessário.
Obs.: É necessário fechar todo arquivo após terminar seu 
uso, quando da execução de um programa, pois este 
consome recursos do computador que poderiam ser 
alocados para outras tarefas.
Outras Funções:
readline() - lê linha de um arquivo e incrementa posição no 
arquivo;
readlines() - lê conteúdo e retorna lista contendo em cada 
elemento da lista a linha linha lida do arquivo;
write(dados) - escreve dados em arquivo aberto (modo a 
e/ou w);
close() - fecha o arquivo aberto, salvando alterações se 
necessário.
Obs.: É necessário fechar todo arquivo após terminar seu 
uso, quando da execução de um programa, pois este 
consome recursos do computador que poderiam ser 
alocados para outras tarefas.
 
Programação Orientada a Objetos
Definição: é um modelo de programação (paradigma de 
programação) que lida com objetos que são criados e 
modelados por abstrações na forma de classes que servem a 
sua criação e definição de suas operações (método) e 
atributos. 
Exemplo: Uma classe que modele um estudante de uma 
dada escola. Veríamos que seus atributos seriam suas notas, 
número de faltas, estado aprovado (sim ou não V/F) etc; já as 
operações ou métodos seriam o cálculo de sua média por 
unidade, cálculo da média final, etc.
Definição: é um modelo de programação (paradigma de 
programação) que lida com objetos que são criados e 
modelados por abstrações na forma de classes que servem a 
sua criação e definição de suas operações (método) e 
atributos. 
Exemplo: Uma classe que modele um estudante de uma 
dada escola. Veríamos que seus atributos seriam suas notas, 
número de faltas, estado aprovado (sim ou não V/F) etc; já as 
operações ou métodos seriam o cálculo de sua média por 
unidade, cálculo da média final, etc.
 
Programação Orientada a Objetos
Vamos agora a um simples exemplo em PythonVamos agora a um simples exemplo em Python
 
Programação Orientada a Objetos
>>> class MinhaClasse(object):
... def __init__(self, parametro1, parametro2):
... self.par1 = parametro1
... self.par2 = parametro2
... def metodo_Soma_Parametros(self):
... return self.par1 + self.par2
... 
>>> objeto = MinhaClasse('Ola', 'Mundo')
>>> objeto.metodo_Soma_Parametros()
'OlaMundo'
>>> objeto = MinhaClasse(1, 2)
>>> objeto.metodo_Soma_Parametros()
3
>>> objeto = MinhaClasse(complex(1,2),complex(1,3))
>>> objeto.metodo_Soma_Parametros()
(2+5j)
>>> class MinhaClasse(object):
... def __init__(self, parametro1, parametro2):
... self.par1 = parametro1
... self.par2 = parametro2
... def metodo_Soma_Parametros(self):
... return self.par1 + self.par2
... 
>>> objeto = MinhaClasse('Ola', 'Mundo')
>>> objeto.metodo_Soma_Parametros()
'OlaMundo'
>>> objeto = MinhaClasse(1, 2)
>>> objeto.metodo_Soma_Parametros()
3
>>> objeto = MinhaClasse(complex(1,2),complex(1,3))
>>> objeto.metodo_Soma_Parametros()
(2+5j)
 
Programação Orientada a Objetos
>>> class Pessoa(object):
... def __init__(self,nome,data_nasc,sexo, idade=0):
... self.nome = nome
... self.data_nasc = data_nasc
... self.sexo = sexo
... self.idade = idade
... def envelhecer(self):
... self.idade += 1
... 
>>> class Homem(Pessoa):
... def say(self):
... print 'Olá meu nome é ', self.nome
... 
>>> Pedro = Homem('Pedro','01/12/1987','M')
>>> Pedro.say()
Olá meu nome é Pedro
>>> class Pessoa(object):
... def __init__(self,nome,data_nasc,sexo, idade=0):
... self.nome = nome
... self.data_nasc = data_nasc
... self.sexo = sexo
... self.idade = idade
... def envelhecer(self):
... self.idade += 1
... 
>>> class Homem(Pessoa):
... def say(self):
... print 'Olá meu nome é ', self.nome
... 
>>> Pedro = Homem('Pedro','01/12/1987','M')
>>> Pedro.say()
Olá meu nome é Pedro
 
Programação Orientada a Objetos
Nó código anterior percebemos uma 'iteração' entre as 
classes 'Homem' e 'Pessoa' a qual permitiu a classe homem 
acessar atributos e métodos definidos em pessoa. Isso 
chama-se herança ou seja uma dada classe herda 
características de outra. Obs.: é possível haver herança 
múltipla onde uma dada classe herda de mais de uma 
classe, ou seja,
class Minhaclasse(Classe1,Classe2,...)
por exemplo. O suporte a herança múltipla bem como seu 
uso e limitações dependem da linguagem de programação 
em uso. Aqui estamos a usar a linguagem interpretada 
Python.
Nó código anterior percebemos uma 'iteração' entre as 
classes 'Homem' e 'Pessoa' a qual permitiu a classe homem 
acessar atributos e métodos definidos em pessoa. Isso 
chama-se herança ou seja uma dada classe herda 
características de outra. Obs.: é possível haver herança 
múltipla onde uma dada classe herda de mais de uma 
classe, ou seja,
class Minhaclasse(Classe1,Classe2,...)
por exemplo. O suporte a herança múltipla bem como seu 
uso e limitações dependem da linguagem de programação 
em uso. Aqui estamos a usar a linguagem interpretada 
Python.
 
Interpretada x Compilada
Uma linguagem é dita ser interpretada quando seu código é 
executado por outro programa, o 'interpretador', que lê as 
instruções do código executando-as passo à passo;já uma 
linguagem compilada nós temos um processo o qual é 
chamado de compilação no qual um dado código escrito em 
uma determinada liguagem facilmente legível é convertida 
para a linguagem de máquina afim de ser executada na 
mesma.
Uma linguagem é dita ser interpretada quando seu código é 
executado por outro programa, o 'interpretador', que lê as 
instruções do código executando-as passo à passo; já uma 
linguagem compilada nós temos um processo o qual é 
chamado de compilação no qual um dado código escrito em 
uma determinada liguagem facilmente legível é convertida 
para a linguagem de máquina afim de ser executada na 
mesma.
 
Momento H4ck3r: Praticando 
Codificando
Baseado na classe definidas anteriormente crie a classe 
'Mulher' que herdará as características de Pessoa assim 
como foi feito na classe 'Homem'.
(Quais atributos e outros métodos você definiria?)
Baseado na classe definidas anteriormente crie a classe 
'Mulher' que herdará as características de Pessoa assim 
como foi feito na classe 'Homem'.
(Quais atributos e outros métodos você definiria?)
 
Momento H4ck3r: Praticando 
Codificando
Implementar um pequeno game de RPG em modo texto.Implementar um pequeno game de RPG em modo texto.
 
Momento H4ck3r: Praticando 
Codificando
Exemplo: Defina uma classe chamada 'Entidade', ela 
representará qualquer elemento que componha o game e de 
seus principais atributos seria sua posição, e HP (se a 
entidade é um personagem do jogo). Depois nesta classe 
defina métodos que alterem a posição (coordenada x e y) da 
entidade. Posteriormente crie uma classe 'Personagem' que 
deve herdar características da classe Entidade.
Exemplo: Defina uma classe chamada 'Entidade', ela 
representará qualquer elemento que componha o game e de 
seus principais atributos seria sua posição, e HP (se a 
entidade é um personagem do jogo). Depois nesta classe 
defina métodos que alterem a posição (coordenada x e y) da 
entidade. Posteriormente crie uma classe 'Personagem' que 
deve herdar características da classe Entidade.
 
Momento H4ck3r: Praticando 
Codificando
Escopo geral simples
class Entidade(object):
def __init__(self, x,y):
self.x, self.y = x, y
#{outro métodos aqui}
class Personagem(Entidade):
 def __init__(self,nome,x=0,y=0,hp=100,power_attack=10):
 Entidade.__init__(self,x,y)
 self.nome = nome
 self.hp, self.power_attack = hp, power_attack
#{Metodos aqui.Por exemplo redução de hp quando atacado.}
def main():
#{instruções}
if __name__ == '__main__':
 main()
Escopo geral simples
class Entidade(object):
def __init__(self, x,y):
self.x, self.y = x, y
#{outro métodos aqui}
class Personagem(Entidade):
 def __init__(self,nome,x=0,y=0,hp=100,power_attack=10):
 Entidade.__init__(self,x,y)
 self.nome = nome
 self.hp, self.power_attack = hp, power_attack
#{Metodos aqui.Por exemplo redução de hp quando atacado.}
def main():
#{instruções}
if __name__ == '__main__':
 main()
 
FIM
Neste slide foi apresentada as noções básicas de lógica de 
programação assim como uma breve introdução a linguagem 
python.
Neste slide foi apresentada as noções básicas de lógica de 
programação assim como uma breve introdução a linguagem 
python.
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52

Outros materiais