Вы находитесь на странице: 1из 63

Apresentao

Aluno do 4 semestre da graduao em Cincia da


Computao da UECE.
Presidente da empresa jr. da Computao da UECE Acens
Fbio Cerqueira (fabio@acens.com.br)

Objetivo do Curso
Mostrar uma nova e tima opes de linguagens
para desenvolvimento;
Apresentar a linguagem Python, suas facilidades e
sua produtividade;
Realizar prticas para desenvolver a maneira de
pensar com Python.

O que voc j conhece?

Porque Python?
Verso do primeiro programa em C:
#include <stdio.h>
int main() {
printf(Hello World!);
return 0;
}
Verso do primeiro programa em Python:
print Hello World!

Python simples e correta.

Quem usa Python?

Eu \o/

Para que se usa Python?


Educao;
Desenvolvimento Web;
Desktop GUIs;
Acesso a Bases de Dados;
Computao Numrica e Cientfica;
Programao em Rede;
Jogos e Grficos 3D;

Histria do Python
Criada no natal de 1989;
Guido Van Rossum;
Nome no veio da cobra. (Monty Python)
Influncias de ABC, Haskell, C, Perl, SmallTalk,
Modula 3;
Hoje Guido Van Rossum trabalha na Google.

Caractersticas do Python
Interpretada;
Portvel(Multi-plataforma);
Extensvel (C, Java, .NET);
Livre;
Tudo objeto em Python;
Multiparadigma: Procedural, Orientada a objetos,
Funcional;
Case-sensitive;

Caractersticas do Python II
Simples e Legvel;
Suporte nativo a estrutura de dados de alto nvel;
Sem declarao de variveis;
Tipagem Forte e Dinmica;
Controle de escopo por indentao.

Download e instalao do Python


Download no site oficial: http://www.python.org/download/
Verso usada no curso: 2.5 (python-2.5.msi)
Verso em desenvolvimento: beta 2.6 e 3.0

Instalao do Python

Instalao do Python

Instalao do Python

O Shell interativo

Configurando Windows

Hello World!

Usando o IDLE
Opo para auto completar o cdigo;
Opo de debug;
Sintaxe colorida;
Editor alm do Shell;
Outras muitas opes;
E ainda mais bonito. =D

O IDLE

Tipos primitivos

Variveis
Fortemente tipada;
Tipagem dinmica;
Tudo objeto;
No necessrio declarar.

Conhecendo outros tipos


Converso automtica de int para long:

Conhecendo outros tipos


O que falso para Python?
Tipo bool representa valores
lgicos 0 e 1

Complex? O.o
Python vem com o tipo para representar nmeros complexos.

Tudo objeto
As variveis podem ser iniciadas da forma j mostrada ou com
uso de construtores.

O construtor do tipo int possui opo de escolha da base.

Atribuio mutua
Troca-troca de valores.

A atribuio mutua conseqncia da atribuio mltipla.

Strings. E o tipo char?


, Python no tem tipo char =/
Isso um problema?

Aspa simples ou aspa dupla podem ser usadas nas strings.

Operadores
Operadores aritmticos

Mais Operadores
Operadores de comparao

Existem outros operadores


usados para comparao,
futuramente citarei mais
alguns e outros voc
conhecer com a prtica.

Mais Operadores
Operadores lgicos

Operadores lgicos so usados principalmente junto com


estruturas de controle que veremos neste curso.

Mais Operadores
Operadores de bitwise

Voltando s strings
Strings so seqncias(Tira ou no o trema?) especiais do
python.
Operaes mgicas sobre string.(Slices)

Operadores para string


Python oferece alguns operadores para trabalhar com
string.

Operadores para string

Tipos especiais de string


Fugindo dos caracteres especiais.

O r no incio da string indica que os \... no


sero interpretados como especiais.

Tipos especiais de string


So as strings de mltiplas linhas.

Inicia a string com e finaliza com

Tipos especiais de string


Tipo especial Unicode.

Mtodos do objeto str

Mtodos do objeto str


Existem vrios mtodos para string. Abaixo alguns:

Documentao interativa
Python possui uma documentao interativa que ajuda bastante o
programador. Como no mostrarei todos os mtodos do tipo str veja
uma maneira simples de aprender.

O comando help()
mostra a
documentao
para o objeto
passado como
parmetro.

Documentao interativa
No preciso acessar a documentao de toda a classe para estudar
s um mtodo.

Documentao para o mtodo find() da classe str

Comandos
Em Python existem comandos nativos bastante teis, alguns j
foram usados nesta aula.
O comando em python tem o seguinte formato:
nome([parm1,parm3,parm4,parm5...])

Mais comandos

Mais comandos

Existem outros comandos importantes que sero


vistos durante o curso.

Entrada de dados
Em modo console para receber dados do usurio de forma interativa
o Python aceita basicamente dois comandos. input() e raw_input()

Observe e diga porque em um deles foi usado raw_input() e no outro


input()

raw_input ou input
Observe outro exemplo:

Ao tentarmos receber uma string com input no foi possvel salvar o


dado na varivel cor.

Note que o valor atribudo a cor foi o valor que havia sido salvo na
varivel verde.

raw_input ou input
O mesmo exemplo da cor com o comando raw_input():

Note que o valor atribudo a cor foi exatamente a string digitada.


E se eu quiser que seja o valor da varivel verde? O que fazer?

O comando eval faz a mgica \o

O comando eval()
Entendendo melhor o comando eval()

O eval retorna o resultado da interpretao da string passada que


representa uma expresso Python.
Para ver mais use a documentao interativa. help(eval)

Sim... E a?
Podemos chegar a concluso que usar input() o
mesmo que usar eval(raw_input());
Que raw_input() retorna uma string;
E que o uso vai depender muito em que situao vai
ser usada.

Controle de fluxo
Observe o exemplo:

if e else em C

Controle de escopo
Observe que o cdigo em python no usa { } para controle de
escopo. E muito menos begin e end como em outra linguagens.

O nico indicador de incio de escopo so os dois pontos :


O bloco ser identificados pelas indentao.

O comandos pass usado acima no faz nada =D

Switch
Quem j usou Switch para controle de tomada de deciso
em um cdigo?

Legal... Python no tem... =/

elif
elif usado em situaes que existem mais de dois
caminhos para uma avaliao.

Para quem sente falta do switch o elif pode ser usado para as mesmas
coisas.

Condicional de uma linha


Sintaxe:
VALORVERDADE if condicao else VALORFALSO
Em outra linguagens isso bem mais bonito.
Exemplo:

Estrutura de repetio
As estruturas de repetio em Python so: for e while

while
Observe o exemplo:

Assim como todo bloco de comandos em Python, aqui o controle de


Escopo tambm feito por indentao.

Continuando while
O while em Python muito comum em relao a mesma estrutura em
outras linguagens.
Sintaxe:
while condicao:
<bloco de comandos>
else:
<bloco de comandos>
Heim? O.o else no while? O.O Ooooooooooh!
A grande diferena do while do python para outras linguagens.

break
Python possui a instruo break.
Veja o exemplo:

A instruo break interrompe o lao realizando uma para abrupta dele e


finalizando sua execuo.

continue
Python possui tambm a instruo continue
Veja o exemplo:

A instruo continue termina a interao atual do lao voltando para


checagem de condio.

E o else, homi?
O else em laos executado caso no seja executada uma interrupo
feita pela instruo break.
Exemplo:

Como o valor digitado no exemplo foi 999 no ir executar o break, logo


o bloco do else foi executado.

for
O for encontrado na linguagem Python diferente do for de
Java,C,PHP,C#...
Ele parecido com foreach do PHP e C#.
Sintaxe:
for var in iterable:
<comandos do for>
else:
<comandos do else>
Assim como no while o for tambm possui o bloco else e funciona da
mesma maneira.

Entendendo o for
Nada melhor que um exemplo:

O for em Python varre toda a sequncia(empresa) e guarda o valor na


varivel(letra) em cada interao. Outro exemplo:

E se eu quiser fazer como um for normal?


Comparao do for em C e Python
C

Python

O comando range() gera uma sequncia(lista) de inteiros. help(range)


C

Python

Exibindo os pares de 50 at 99 com o a varivel incrementando de 2 em 2.

Вам также может понравиться