Introdução à Python 3
Minicurso de Introdução a linguagem de programação Python.
II JTIMS - Jornada de Tecnologias da Informação de Mato Grosso do Sul
M 1
Hello World!
Jhonathan Paulo Banczek.Ciência da Computação
jhoonb.com
CONTEÚDO PROGRAMÁTICO
Dividido em Módulos:
Módulo 1; (Primeira Aula).Módulo 2; (Segunda Aula).Módulo 3; (Terceira Aula).
CONTEÚDO PROGRAMÁTICO
Os módulos e arquivos usados, serão disponíveis no site após o termino de cada aula, url:
jhoonb.com/courses
CONTEÚDO PROGRAMÁTICO
Módulo 1:❏ Histórico e Uma Introdução sobre Python.
❏ Porque usar Python?❏ Quem usa?❏ Onde posso usar Python?❏ The Zen of Python.
❏ Linguagem Interpretada.❏ Python 3.❏ Instalando Python 3 (Linux, Windows).❏ Palavras Reservadas.
CONTEÚDO PROGRAMÁTICO
Módulo 1:❏ Operadores.
❏ Relacionais, Lógicos, Aritméticos, Bit a Bit, Precedência das operações.
❏ Delimitadores.❏ Tipos de Dados.❏ Built-in Functions❏ Python como uma calculadora. ( Exemplos… )❏ Declarando Variáveis.❏ Estruturas Condicionais e de Repetição. (Exemplos...)❏ Exercícios.
CONTEÚDO PROGRAMÁTICO
Módulo 2:1. Funções.
a. Definindo, parâmetros, variável global, multíplos retornos2. Paradigmas de Programação.
a. Exemplo de POO.b. Programação Funcional, List comprehension
3. Tipo de Dados (métodos).a. list, dic, str, tuple
4. Exemplos.5. Exercícios.
CONTEÚDO PROGRAMÁTICO
Módulo 3:1. Manipulação de Arquivos.
a. leitura, gravação, métodos.2. Exemplos.3. Exercícios.4. Módulos.5. Apresentando a Standard Library do Python.6. Mais conteúdo.7. Referências.
MÓDULO 1: Histórico e Uma Introdução sobre Python.
O que é Python?
Python é uma linguagem de programação de propósito geral, de alto nível, interpretada, multiparadigma, de tipagem dinâmica e forte.
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Lançada em 1991 porGuido van Rossum
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Guido estava entediadodurante o período de férias perto do natal e resolveu criar uminterpretador pra nova linguagem de script que ele estava
MÓDULO 1: Histórico e Uma Introdução sobre Python.
desenvolvendo… Começou a escrever códigos em seu computador pessoal, logomais ele batizou a linguagem com o nome de Python, em homenagem ao grupo humorístico Monty Python
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Guido na Google:
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Guido na Dropbox:
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Em 1999, Guido enviou uma proposta de financiamento pro DARPA, chamado "Computer Programming for Everybody" e definiu os objetivos da linguagem:
MÓDULO 1: Histórico e Uma Introdução sobre Python.
❏ uma linguagem fácil e intuitiva enquanto que ainda sendo tão poderosa quanto as maiores competidoras;
❏ Código aberto, para que qualquer um possa contribuir para o desenvolvimento;
❏ código que fosse tão inteligível quanto inglês;❏ adequada para tarefas diárias, permitindo um tempo
de desenvolvimento mais curto;
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Guido van Rossum:Benevolent Dictator for Life (BDFL)
(Ditador Benevolente Vitalício)
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Porque usar Python?● Linguagem muito parecida com pseudo-código executável;● O uso de indentação para marcar blocos; (controverso)● Coletor de lixo para gerenciar automaticamente o uso da
memória;● Fácil de escrever e ler.● Programar se torna divertido e não tedioso.● Standard Library extremamente poderosa.● Comunidade produtiva, amigável e ativa!
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Porque usar Python?
Preocupe-se com a Lógica e o problema em si o resto Python faz por você
Em outras linguagens PERDEMOS muito tempo tentando entender como escrever o código(ponteiros, alocação de memória, estrutura de dados...).
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Porque usar Python?
Preocupe-se com a Lógica e o problema em si o resto Python faz por você
Para muito dos nossos problemas no dia a dia isso é POUCO necessário. É claro, existem casos específicos.
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Quem usa Python?
Google, Dropbox, Youtube, NASA, CERN, CBPF, MIT, Linux, Canonical, CERPRO, IBM, Globo, Sun, Zope, Redhat, Lucas Films …
Aplicações Conhecidas:Maya, Blender, Youtube, Globo.com, Django, etc.
MÓDULO 1: Histórico e Uma Introdução sobre Python.
Onde posso usar Python?
Qualquer lugar ;)
Game and 3D Graphics, Software Development, Network Programming, Education, Scientific and Numeric, Desktop GUIs, Database Access, Web and Internet Development.
MÓDULO 1: Histórico e Uma Introdução sobre Python.
THE ZEN OF PYTHON
by Tim Peters
>>> import this
MÓDULO 1: Histórico e Uma Introdução sobre Python.
THE ZEN OF PYTHON
by Tim Peters❏ Bonito é melhor que feio.❏ Legibilidade conta.❏ Casos especiais não são especiais o bastante para se quebrar as regras.❏ Embora a simplicidade supere o purismo.❏ Deveria haver uma – e preferencialmente apenas uma – maneira óbvia de
se fazer isto.❏ Se a implementação é difícil de explicar, é uma má idéia.
MÓDULO 1: Linguagem Interpretada.
Python é uma linguagem interpretada, isso quer dizer que o código fonte (.py) é lido linha a linha pelo programa interpretador, gera-se o bytecode pelo compilador (.pyc) e então executado pela VM de Python.
MÓDULO 1: Linguagem Interpretada.
A linguagem é de altíssimo nível, mas ela também pode compilar seus programas para que a próxima vez que o executar não precise compilar novamente o programa. .pyc: .py compilado
.pyo: .py otimizado e compilado
MÓDULO 1: Linguagem Interpretada.
Interpretado é mais lento que compilado…
logo Python, é lento? Ruim? Não presta?Para a maioria dos nossos problemas ela é suficiente ou até melhor :)
Python é uma das linguagens interpretadas mais rápida e poderosa que existe.(PS: Eu não esqueci de Lua que é extremamente poderosa e muitas vezes melhor que Python)
MÓDULO 1: Começando
Agora, vamos entrar de vez no universo Python…
Um caminho sem volta.
MÓDULO 1: Python 3
Usaremos Python 3 no lugar de Python 2 para iniciar a programação com Python. Não existe problema algum entre uma e outra. As diferenças entre Python 2 e 3 podem ser vistas no Site oficial:
https://wiki.python.org/moin/Python2orPython3
MÓDULO 1: Diferenças
Guido van Rossum decidiu ao final do lançamento de Python 2x (2010) fazer uma limpeza na linguagem e arrumar muitas questões para tornarmais simples para os iniciantes. Python 2 terá suporte, correções debugs etc, porem implementações erecursos novos só em Python 3.
MÓDULO 1: Instalando Python3
Usuário de Windows. :(
Baixe o instalador no Site Oficial (Versão >= 3 ):link: http://python.org/download/
MÓDULO 1: Instalando Python3
Usuário de Windows.
MÓDULO 1: Instalando Python3
Usuário de Windows. Next… Finish
MÓDULO 1: Instalando Python3
Usuário de Windows.
1) IDLE - EDITOR DE TEXTO/INTERPRETADOR PARA ESCREVER OS CÓDIGOS2) LINHA DE COMANDO3) MANUAL.
MÓDULO 1: Instalando Python3
Usuário de Windows.
IDLE aberta e com uma linha executada
MÓDULO 1: Instalando Python3
Usuário de Windows.
Na IDLEClique em File/New Windowpara criar um novo documento de texto vazio, salvo-o com a extensão .pyNo seu diretório preferido.
MÓDULO 1: Instalando Python3
Usuário de Windows.
Escreva um código de teste,e IDLE de Python já destacaas palavras reservadas da linguagem e também indenta seucódigo automaticamente.
MÓDULO 1: Instalando Python3
Usuário de Windows.
Para executar seu código,clique em RUN/Run Moduleou pelo atalho [F5].O Interpretador será chamadocom seu código já em Execução
MÓDULO 1: Instalando Python3
Usuário de Windows.
Para executar um programa .py pelo terminal/linha de comando basta digitar na pasta do seu arquivo .py, o comando:
prompt> python3 <seuprograma>.py
MÓDULO 1: Instalando Python3
Usuário de Windows.
Fácil, sim ou sim?
:)
MÓDULO 1: Instalando Python3
Usuário de Linux. :)
Usuários linux (beseado em Debian)sudo apt-get install idle-python3.3
Ou pelo Central de Programas/Synapatic
MÓDULO 1: Palavras Reservadas
33 Palavras reservadas da linguagem.
False class finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except in raise
MÓDULO 1: Operadores
❏ Relacionais❏ Lógicos❏ Aritméticos❏ Bit a Bit❏ Precedência das operações
MÓDULO 1: Operadores Relacionais
Operador Descrição Exemplo
> Maior que 2 > 3
< Menor que 2 < 4
>= Maior igual que 2 >= 2
<= Menor Igual que 4 <= 4
!= Diferente de True != False
== Igual a True == 1
MÓDULO 1: Operadores Lógicos
Operador Descrição Exemplo
not Negação Lógica not True
and E lógico True and False
or OU lógico False or True
MÓDULO 1: Operadores Aritméticos
Operador Descrição Exemplo
+ Adição 2 + 3
- Subtração 2 - 2
* Multiplicação 2 * 3
/ Divisão 5/4
// Divisão Inteira 4/3
** Exponenciação 2**100
% Resto de Divisão(mod) 10 % 2
MÓDULO 1: Operadores bit a bit
Operador Descrição Exemplo
~ complemento bit a bit
~b
<< deslocar bits à esquerda
b << 1
>> deslocar bits à direita
b >> 1
& E (and) bit a bit b & 0x01
^ ou exclusivo (XOR) bit a bit b ^ 0x01
| ou (OR) bit a bit b | 0x01
MÓDULO 1: Precedência das Operações
Regra: PEMDASP = Parêntesis.E = Exponenciação.M = Multiplicação.D = Divisão.A = Adição.S = Subtração.
MÓDULO 1: Delimitadores
( ) [ ] { }
, : . ; @ = ->
+= -= *= /= //= %=
&= |= ^= >>= <<= **=
MÓDULO 1: Tipo de Dados
int Número inteiro 100000005644343
float Número ponto flutuante 45678.984
bool booleano True, False
str String (cadeia de carateres) “Bola”, ‘Gato’
complex Número complexo 3+2j
list lista heterogênea [1,2,3, “eggs”, “foo”]
dict array associativo (hash table) {“nota”: 10.1 }
set conjunto ordenado único {1,2,3,4,6,10}
tuple list imutável, tupla. (1,2,3,4, “eggs”)
MÓDULO 1: Built-in Functions
O interpretador Python tem uma série de funções e tipos embutidos que estão sempre disponíveis. A seguir será listada algumas funções uteis:
➢ float(x) -> converte o valor x para float.➢ int(x) -> converte o valor x para int.➢ str(x) -> converte o valor x para uma str.➢ print(x, y) -> imprime os dados na tela.➢ input(msg) -> recebe dados via teclado.
MÓDULO 1: Built-in Functions
O interpretador Python tem uma série de funções e tipos embutidos que estão sempre disponíveis. A seguir será listada algumas funções uteis:
➔ help([obj]) -> chama o sistema de ajuda do objeto.➔ len([obj]) -> retorna o tamanho do obj➔ list(x) -> converte x para list➔ tuple(x) -> converte x para tuple
MÓDULO 1: Built-in Functions
O interpretador Python tem uma série de funções e tipos embutidos que estão sempre disponíveis. A seguir será listada algumas funções uteis:
➔ range(inicio, fim-1, passo) -> retorna um objeto tipo range com a sequência gerada pelo intervalo definido entre inicio e fim-1, com o passo default: 1.
➔ type([obj]) -> retorna o tipo do objeto
MÓDULO 1: Python como uma calculadora
Usaremos o interpretador Python para fazermos alguns cálculos básicos:No terminal Linux, digite python3 e pressione [ENTER]
Exemplos e Exercícios.
MÓDULO 1: Python como uma calculadora
Para declarar variáveis em Python não é necessário especificar o tipo, pois a linguagem possui inferência de tipos.
x = 10 -> x é do tipo int
y = “eggs” -> y é do tipo str
Z = [2,34] -> Z é do tipo list
MÓDULO 1: Declarando Variáveis
Como a linguagem é de tipagem dinâmica, podemos alterar o tipo de uma variável apenas atribuindo outro valor a ela:
x = 10 -> x é do tipo int
x = “eggs” -> x é do tipo str e seu valor foi mudado.
x = [42,42] -> x é do tipo list
MÓDULO 1: Declarando Variáveis
Contúdo ela tem também tipagem FORTE. Evita que o programador faça coisas bizarras como somar uma variável tipo int com str:x = 10
x = x + ‘10’
TypeError: unsupported operand type(s) for +: 'int' and 'str'
MÓDULO 1: Declarando Variáveis
Para fazer isso é necessário converter a variável explicitamente.
x = 10
x = str(x) + ‘10’
print(x) -> ‘1010’
MÓDULO 1: Declarando Variáveis
Para fazer isso é necessário converter a variável explicitamente.
x = ‘10’
x = int(x) + 10
print(x) -> 20
MÓDULO 1: Declarando Variáveis
x = [] -> x tipo list
x = “” -> x tipo str
x = 1 -> x tipo int
x = True -> x tipo bool
x = () -> x tipo tuple
x = {} -> x tipo dict
x = 1.0 -> x tipo float
x = None -> x tipo indefinido (null, nil)
MÓDULO 1: Declarando Variáveis
As linguagens de programação possuem mecanismos para controlar o fluxo do programa, que são as Estruturas Condicionais e de Repetição.
❏ SE, SENAO. ❏ ENQUANTO, PARA, REPITA.
MÓDULO 1: Estrutura de Controle
No Python, o SE, ENTÃO é escrito desta maneira:
if <condicao> :
<indentacao> <comando>
else :
<indentacao> <comando>
<indentacao> = escopo.
MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE
ELIF
if <condicao>:
<indentacao> <comando>
elif <condicao>:
<indentacao> <comando>
else:
<indentacao> <comando>
MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE
Em Python, os blocos de códigos são delimitados por 4 espaços em branco (PEP 8), não usa delimitadores visuais como {, } no C e Java. Fica mais fácil e agradável de ler.
MÓDULO 1: Estrutura de Controle: blocos
Exemplo:nota = 7.5
if nota < 7.0:
print(“Aluno de Exame.”)
else:
print(“Aluno Aprovado.”)
MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE
Exemplo 2: situação-> Aluno aprovado, exame ou reprovado. Usando elif.nota = 6.5
if nota >= 7:
print(“Aluno Aprovado.”)
elif nota >=4 and nota < 7:
print(“Aluno de Exame.”)
else:
print(“Aluno Reprovado.”)
MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE
ifs aninhados:nota = 5.5
if nota < 7:
if nota >= 5:
print(“Aluno de Exame”)
else:
print(“Aluno Reprovado”)
else:
print(“Aluno Aprovado”)
MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE
Existem também as estruturas de repetição, em Python o while, e o for:while <condicao>:<indentacao> <comando>
MÓDULO 1: Estrutura de Controle: while, for
x = 0
while x < 10:
print(x)
x = x + 1 # ou x += 1
-----------------------------------------
saida: 0,1,2,3,4,5,6,7,8,9
-----------------------------------------
MÓDULO 1: Estrutura de Controle: while, for
x = 0
while True:
print(x)
x = x + 1 # ou x += 1
if x >= 10:
break
-----------------------------------------
saida: 0,1,2,3,4,5,6,7,8,9
-----------------------------------------
Comando: break, quebra o laço de for e while,
MÓDULO 1: Estrutura de Controle: while, for
x = 0
while True:
print(x)
x = x + 1 # ou x += 1
if x >= 10: #loop infinito
continue
-----------------------------------------
saida: 0,1,2,3,4,5,6,7,8,9, 10, 11, 12, … infinito
-----------------------------------------
Comando: continue, ignora o resto do bloco de código e continua o laço
MÓDULO 1: Estrutura de Controle: while, for
Laço for do Python é diferente das outras linguagens, não itera sobre os índices de uma sequência e sim sobre os próprios elementos da sequência:for <elemento> in <sequencia>:<indentação> <comando>
MÓDULO 1: Estrutura de Controle: while, for
Laço for:
for i in range(10):
print(i)
----------------------------
saída: 0,1,2,3,4,5,6,7,8,9
----------------------------
MÓDULO 1: Estrutura de Controle: while, for
Laço for:
for i in range(5, 10):
print(i)
----------------------------
saída:5,6,7,8,9
----------------------------
MÓDULO 1: Estrutura de Controle: while, for
Laço for:
for i in range(1, 10, 2):
print(i)
----------------------------
saída:1,3,5,7,9
----------------------------
MÓDULO 1: Estrutura de Controle: while, for
Laço for:lista = [1,3,5,”eggs”]
for elemento in lista:
print(elemento)
----------------------------
saída:1,3,5,”eggs”
----------------------------
MÓDULO 1: Estrutura de Controle: while, for
Laço for:monty = “python”
for letra in monty:
print(letra)
-----------------------------------
saída:”p”, “y”, “t”, “h”, “o”, “n”
-----------------------------------
MÓDULO 1: Estrutura de Controle: while, for
Laço for, com if e else:lista = [1,3,5,”eggs”]
for elemento in lista:
if elemento is ‘eggs’:
print(“ovo em inglés é: ”, elemento)
else:
print(elemento)
----------------------------
saída:1,3,5, “ovo em ingles é: eggs”
----------------------------
MÓDULO 1: Estrutura de Controle: while, for
Laço for, com break:lista = [1,2,3,4,5,-1,7,8,9,0,100]
for elemento in lista:
if elemento == -1:
break
else:
print(elemento)
----------------------------
saída:1,3,4,5
----------------------------
MÓDULO 1: Estrutura de Controle: while, for
Dúvidas?
MÓDULO 1: Dúvidas/exercícios
MÓDULO 1: FIM
Material disponível em:jhoonb.com/courses
Top Related