53
Minicurso Básico de Python - PythonDay

Minicurso Básico de Python - PythonDay

Embed Size (px)

DESCRIPTION

Mini-Curso minitstrado no Python Day (12/04/14) na Universidade Estadual de Feira de Santana

Citation preview

Page 1: Minicurso Básico de Python - PythonDay

Minicurso Básico de Python - PythonDay

Page 2: Minicurso Básico de Python - PythonDay

Apresentação

Diego Leite Dilan Nery

[email protected]@gmail.com

Page 3: Minicurso Básico de Python - PythonDay

Cronograma

❏ Introdução ao Python❏ Estruturas de controle e de

repetição❏ Tipos básicos❏ Funções e arquivos

Page 4: Minicurso Básico de Python - PythonDay

Histórico

❏ Guido van Rossum❏ Versão 1.0 em 1994❏ Principal objetivo

❏ Aumentar a produtividade do programador

❏ Hoje o Python está na versão 3.0

Page 5: Minicurso Básico de Python - PythonDay

Shell

Page 6: Minicurso Básico de Python - PythonDay

Script

Page 7: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

1. Condições1.1. if1.2. else1.3. elif

2. Repetições2.1. while2.2. Contador2.3. Acumulador2.4. Interrupção2.5. for

Page 8: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

print (“Olá”)print (“Tudo bem?”)

Condições - if

Page 9: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

Condições - if

Page 10: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Ler 2 valores inteiros e imprimir o maior deles.

Condições - if

a = int(input(“Digite a: ”))b = int(input(“Digite b: ”))if a > b:print (“A é o maior!”)

if b > a:print (“B é o maior!”)

Page 11: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Ler 2 valores inteiros e imprimir o maior deles.

Condições - else

a = int(input(“Digite a: ”))b = int(input(“Digite b: ”))if a > b:print (“A é o maior!”)

else:print (“B é o maior!”)

Page 12: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Uma empresa de internet discada cobra R$ 0,20 centavos por pulso, quando a conta vem abaixo de 200 minutos. Entre 200 e 400 min, o preço é de R$ 0,18. Acima de 400 min o preço cai para R$ 0,15. Calcule o preço de uma conta.

Condições - Estruturas aninhadas

Page 13: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

m = int(input(“Digite m: ”))if m < 200:preco = 0.20

else:if m <= 400:preco = 0.18

else:preco = 0.15

print (“Conta: %d” % (m*preco))

Condições - Estruturas aninhadas

Page 14: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# A empresa de internet criou uma promoção onde, contas acima de 800 minutos pagam R$ 0,08 o minuto.

Condições - Estruturas aninhadas

Page 15: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

Condições - Estruturas aninhadas

m = int(input(“Digite m: ”))if m < 200:

preco = 0.20else:

if m <= 400:preco = 0.18

else:if m <= 800:

preco = 0.15else:

preco = 0.08print (“Conta: %d” % (m*preco))

Page 16: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# A cláusula elif substitui um else if seguido.

Condições - elif

m = int(input(“Digite m: ”))if m < 200:

preco = 0.20elif m <= 400:

preco = 0.18elif m <= 800:

preco = 0.15else:

preco = 0.08print (“Conta: %d” % (m*preco))

Page 17: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

Exercícios!

Page 18: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Imprimindo de 1 a 3

Repetições

# Modo Simples

print (1)print (2)print (3)

Page 19: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Imprimindo de 1 a 3

Repetições

# Utilizando uma variável

x = 1print (x)x = 2print (x)x = 3print (x)

Page 20: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Imprimindo de 1 a 3

Repetições

# Incrementando a variável

x = 1print (x)x = x + 1print (x)x = x + 1print (x)

Page 21: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Imprimindo de 1 a 3

Repetições - while

# Usando while

x = 1while x <= 3:

print (x)x = x + 1

Page 22: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Imprimir os números pares entre 0 e um número fornecido usando if.

Repetições - Contadores

fim = int(input(“Digite um número: ”))n = 0while n <= fim:

if n % 2 == 0:print (“N: %d” % (n))

n = n + 1

Page 23: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Cálculo da soma de dez números inteiros.

Repetições - Acumulador

n = 0soma = 0while n < 10:

num = int(input(“Digite um número: ”)soma = soma + numn = n + 1

print (“Total: %d” % (soma))

Page 24: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

# Calcule a soma dos números inteiros até ser digitado 0 (ZERO).

Repetições - Interrupção

soma = 0while True:

num = int(input(“Digite um número: ”)if num == 0:

breaksoma = soma + num

print (“Total: %d” % (soma))

Page 25: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

Repetições - For*

for letra in ‘aeiou’:print (letra)

>>>aeiou

texto = ‘aeiou’k = 0while k < len(texto):

letra = texto[k]print (letra)k = k + 1

>>>aeiou

Page 26: Minicurso Básico de Python - PythonDay

Estruturas de Controle e rep.

Exercícios!

Page 27: Minicurso Básico de Python - PythonDay

Tipos básicos

1. Numeros1.1. int1.2. float1.3. complex

2. String

4. Conjuntos4.1. Lista4.2. Tupla4.3. Dicionários

3. Boolean

Page 28: Minicurso Básico de Python - PythonDay

Tipos básicos

>>> type(1)<type ‘int’>>>> type(7.5)<type ‘float’>>>> type(1e5)<type ‘float’>>>> type(20+5j)<type ‘complex’>>>>

Números

Page 29: Minicurso Básico de Python - PythonDay

Tipos básicos

>>> spam = “eggs”>>> type(spam)<type ‘str’>>>> spam + “ bacon”‘eggs bacon’>>> spam[0]Traceback (most recent call last):

File “<stdin>”, line 1, in <module>TypeError: ‘str’ object does not supprt item assignment

Strings

Page 30: Minicurso Básico de Python - PythonDay

Tipos básicos

>>> type(True)<type ‘bool’>>>> type(False)<type ‘bool’>>>> bool(0)False>>> bool(0.0)False>>> bool(0+0j)False>>> bool(“”)False

>>> bool([])False>>> bool({})False>>> bool(())False

Boolean

Page 31: Minicurso Básico de Python - PythonDay

Tipos básicos

Listas

Page 32: Minicurso Básico de Python - PythonDay

Tipos básicos

Listas

>>> type([])<type ‘list’>>>> spam = [‘eggs’, ‘bacon’]>>> spam[0]‘eggs’>>> spam[1] = ‘spam’>>> spam[‘eggs’, ‘spam’]>>> len(spam)2

Page 33: Minicurso Básico de Python - PythonDay

Tipos básicos

Listas

>>> spam[2] = 1Traceback (most recent call last):

File "<stdin>", line 1, in <module>IndexError: list assignment index out of range>>> spam.append(1)>>> spam[2]1>>> spam[‘eggs’, ‘spam’, 1]>>> len(spam)3

Page 34: Minicurso Básico de Python - PythonDay

Tipos básicos

Tuplas

>>> type(())<type ‘tuple’>>>> spam = (‘eggs’, ‘bacon’)>>> spam[0]‘eggs’>>> spam[1] = ‘spam’Traceback (most recent call last):

File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment

Page 35: Minicurso Básico de Python - PythonDay

Tipos básicos

Tuplas

>>> spam(‘eggs’, ‘bacon’)>>> spam.append(1)Traceback (most recent call last):

File "<stdin>", line 1, in <module>AttributeError: 'tuple' object has no attribute 'append'>>> spam = spam + (1,)>>> spam(‘eggs’, ‘bacon’, 1)

Page 36: Minicurso Básico de Python - PythonDay

Tipos básicos

Dicionário

Page 37: Minicurso Básico de Python - PythonDay

Tipos básicos

Dicionário

>>> type({})<type ‘dict’>>>> spam = {‘nome’:’João’,’idade’:32,’apelidos’:[‘jô’, ‘joãozinho’]}>>> spam[nome]‘João’>>> spam[idade] = 33>>> spam{'idade': 33, 'apelidos': ['joão', 'joãozinho'], 'nome': 'João'}

Page 38: Minicurso Básico de Python - PythonDay

Tipos básicos

Dicionário

>>> spam[‘endereco’] = ‘Rua J’>>> spam{'idade': 33, 'endere\xc3\xa7o': 'Rua J', 'apelidos': ['j\xc3\xb4', 'jo\xc3\xa3ozinho'], 'nome': 'Jo\xc3\xa3o'}

Page 39: Minicurso Básico de Python - PythonDay

Tipos básicos

Mais Exercícios!

Page 40: Minicurso Básico de Python - PythonDay

Funções e arquivos

1. Funções1.1. Funções1.2. Escopo de

variável1.3. Números

aleatórios

1. Arquivos1.1. Leitura e

escrita em arquivos.

Page 41: Minicurso Básico de Python - PythonDay

Funções e arquivos

# Utilizamos def para definir uma função e return para devolver algum valor.

Funções

def ehpar(x):return x % 2 == 0

>>> ehpar(20)True>>> ehpar(19)False

Page 42: Minicurso Básico de Python - PythonDay

Funções e arquivos

# Defina uma função fatorial

Funções

def fat(n):f = 1while n > 0:

f = f * nn = n - 1

return f

>>> for i in range(3): print( fat(i) )112

Page 43: Minicurso Básico de Python - PythonDay

Funções e arquivos

# a = 5 e a = 7 são variáveis diferentes!

Funções - Escopo de variáveis

a = 5

def muda_e_imprime():a = 7print (“a dentro da funcao: %d” %a)

print (“antes da funcao: %d” %a)muda_e_imprime()print (“depois da funcao: %d” %a)

Page 44: Minicurso Básico de Python - PythonDay

Funções e arquivos

# a = 5 é colocada como global e modificada dentro da função.

Funções - Escopo de variáveis

a = 5

def muda_e_imprime():global aa = 7print (“a dentro da funcao: %d” %a)

print (“antes da funcao: %d” %a)muda_e_imprime()print (“depois da funcao: %d” %a)

Page 45: Minicurso Básico de Python - PythonDay

Funções e arquivos

# É necessário importar o módulo random

Funções - Números aleatórios

>>> import random>>> random.randomint(1, 50)13

>>> nomes = [‘Diego’, ‘Amanda’, ‘Dilan’, ‘Gaby’]>>> random.choice(nomes)‘Amanda’

>>> random.shuffle(nomes)[‘Amanda’, ‘Gaby’, ‘Dilan’, ‘Diego’]

Page 46: Minicurso Básico de Python - PythonDay

Funções e arquivos

FUUUUUUUUUU!!!! Exercícios! \o/

Page 47: Minicurso Básico de Python - PythonDay

Funções e arquivos

# Estes são os principais métodos para a leitura e escrita de um arquivo.

Arquivos - principais métodos

❏ read(): como visto acima, retorna uma string única com todo o conteúdo do arquivo.

❏ readline(): retorna a próxima linha do arquivo, e incrementa a posição atual.

❏ readlines(): retorna todo o conteúdo do arquivo em uma lista, uma linha do arquivo por elemento da lista.

Page 48: Minicurso Básico de Python - PythonDay

Funções e arquivos

# Estes são os principais métodos para a leitura e escrita de um arquivo.

Arquivos - principais métodos

❏ write(data): escreve a string data para o arquivo, na posição atual ou ao final do arquivo, dependendo do modo de abertura. Esta função falha se o arquivo foi aberto com modo `r'.

❏ close(): fecha o arquivo.

Page 49: Minicurso Básico de Python - PythonDay

Funções e arquivos

# Estes são os principais métodos para a leitura e escrita de um arquivo.

Arquivos - principais métodos

arquivo = open('numeros.txt', 'r')for linha in arquivo.readlines():

print(linha)arquivo.close()

Page 50: Minicurso Básico de Python - PythonDay

Funções e arquivos

Exercícios! .o/

Page 51: Minicurso Básico de Python - PythonDay

Conclusões

# Curso Python para Zumbis: http://pycursos.com/python-para-zumbis/

# Learn Python the Hard Way:http://learnpythonthehardway.org/

# Python para Desenvolvedores: http://ark4n.wordpress.com/python/

# Documentação:https://www.python.org/

Onde posso aprender mais?

Page 52: Minicurso Básico de Python - PythonDay

Conclusões

E os próximos eventos?

http://praticasdesoftware.com.br

Page 53: Minicurso Básico de Python - PythonDay

Conclusões

E os próximos eventos?

http://2014.pythonnordeste.org/