SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
Apresentação

    Aluno do 4º semestre da graduação em Ciência da
                 Computação da UECE.


Presidente da empresa jr. da Computação da UECE – Acens


          Fábio Cerqueira (fabio@acens.com.br)
Objetivo do Curso
• Mostrar uma “nova” e ótima opções de linguagens
para desenvolvimento;


• Apresentar a linguagem Python, suas facilidades e
sua produtividade;


• Realizar práticas para desenvolver a maneira de
pensar com Python.
O que você já conhece?
Porque Python?
Versão do primeiro programa em C:
#include <stdio.h>
int main() {
       printf(“Hello World!”);
       return 0;
}


Versão do primeiro programa em Python:
print “Hello World!”
                                          “Python é simples e correta.”
Quem usa Python?




Eu o/
Para que se usa Python?
• Educação;

• Desenvolvimento Web;

• Desktop GUIs;

• Acesso a Bases de Dados;

• Computação Numérica e Científica;

• Programação em Rede;

•Jogos e Gráficos 3D;
História do Python

• Criada no natal de 1989;

• Guido Van Rossum;

• Nome não veio da cobra. (Monty Python)

• Influências de ABC, Haskell, C, Perl, SmallTalk,
Modula 3;

• Hoje Guido Van Rossum trabalha na Google.
Características do Python
• Interpretada;

• Portável(Multi-plataforma);

• Extensível (C, Java, .NET);

• Livre;

• Tudo é objeto em Python;

• Multiparadigma: Procedural, Orientada a objetos,
Funcional;

• Case-sensitive;
Características do Python II

• Simples e Legível;

• Suporte nativo a estrutura de dados de alto nível;

• Sem declaração de variáveis;

• Tipagem Forte e Dinâmica;

• Controle de escopo por indentação.
Download e instalação do Python

• Download no site oficial: http://www.python.org/download/


• Versão usada no curso: 2.5 (python-2.5.msi)


• Versão em desenvolvimento: beta 2.6 e 3.0
Instalação do Python
Instalação do Python
Instalação do Python
O Shell interativo
Configurando Windows
Hello World!
Usando o IDLE

• Opção para auto completar o código;

• Opção de debug;

• Sintaxe colorida;

• Editor além do Shell;

• Outras muitas opções;

• E ainda é mais bonito. =D
O IDLE
“Tipos primitivos”
Variáveis

• Fortemente tipada;


• Tipagem dinâmica;


• Tudo é objeto;


• Não é necessário declarar.
Conhecendo outros tipos
Conversão automática de int para long:
Conhecendo outros tipos
                               O que é falso para Python?


Tipo bool representa valores
lógicos 0 e 1
Complex? O.o
Python vem com o tipo para representar números complexos.
Tudo é objeto
As variáveis podem ser iniciadas da forma já mostrada ou com
uso de construtores.




O construtor do tipo int possui opção de escolha da base.
Atribuição mutua
Troca-troca de valores.




 A atribuição mutua é conseqüência da atribuição múltipla.
Strings. E o tipo char?
• É, Python não tem tipo char =/
• Isso é um problema?




• Aspa simples ou aspa dupla podem ser usadas nas strings.
Operadores
Operadores aritméticos
Mais Operadores
Operadores de comparação



                           Existem outros operadores
                           usados para comparação,
                           futuramente citarei mais
                           alguns e outros você
                           conhecerá com a prática.
Mais Operadores
Operadores lógicos




Operadores lógicos são usados principalmente junto com
estruturas de controle que veremos neste curso.
Mais Operadores
Operadores de bitwise
Voltando às strings
Strings são seqüências(Tira ou não o trema?) especiais do
python.
• Operações mágicas 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 início da string indica que os ... não
 serão interpretados como especiais.
Tipos especiais de string
São as strings de múltiplas linhas.




 Inicia a string com ””” e finaliza com ”””
Tipos especiais de string
Tipo especial Unicode.
Métodos do objeto str
Métodos do objeto str
Existem vários métodos para string. Abaixo alguns:
Documentação interativa
Python possui uma documentação interativa que ajuda bastante o
programador. Como não mostrarei todos os métodos do tipo str veja
uma maneira simples de aprender.




                                                    O comando help()
                                                    mostra a
                                                    documentação
                                                    para o objeto
                                                    passado como
                                                    parâmetro.
Documentação interativa
  Não é preciso acessar a documentação de toda a classe para estudar
  só um método.




Documentação para o método 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 serão
vistos durante o curso.
Entrada de dados
Em modo console para receber dados do usuário 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 não foi possível salvar o
dado na variável cor.




Note que o valor atribuído a cor foi o valor que havia sido salvo na
variável verde.
raw_input ou input
O mesmo exemplo da cor com o comando raw_input():




 Note que o valor atribuído a cor foi exatamente a string digitada.
 E se eu quiser que seja o valor da variável verde? O que fazer?




 O comando eval faz a “mágica” o
O comando eval()
Entendendo melhor o comando eval()




O eval retorna o resultado da interpretação da string passada que
representa uma expressão Python.


Para ver mais use a documentação interativa. help(eval)
“Sim... E aí?”
• Podemos chegar a conclusão 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 situação vai
ser usada.
Controle de fluxo
Observe o exemplo:
if e else em C
Controle de escopo
Observe que o código em python não usa { } para controle de
escopo. E muito menos begin e end como em outra linguagens.




 • O único indicador de início de escopo são os dois pontos “:”
 • O bloco será identificados pelas indentação.


 O comandos pass usado acima não faz nada =D
Switch
Quem já usou Switch para controle de tomada de decisão
em um código?




Legal... Python não tem... =/
elif
 elif é usado em situações que existem mais de dois
 caminhos para uma avaliação.




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 repetição
As estruturas de repetição em Python são: for e while

while
Observe o exemplo:




Assim como todo bloco de comandos em Python, aqui o controle de
Escopo também é feito por indentação.
Continuando while
O while em Python é muito comum em relação 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 diferença do while do python para outras linguagens.
break
Python possui a instrução break.
Veja o exemplo:




A instrução break interrompe o laço realizando uma para abrupta dele e
finalizando sua execução.
continue
Python possui também a instrução continue
Veja o exemplo:




A instrução continue termina a interação atual do laço voltando para
checagem de condição.
E o else, homi?
O else em laços é executado caso não seja executada uma interrupção
feita pela instrução break.
Exemplo:




Como o valor digitado no exemplo foi 999 não 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 também possui o bloco else e funciona da
mesma maneira.
Entendendo o for
Nada melhor que um exemplo:




O for em Python “varre” toda a sequência(empresa) e guarda o valor na
variável(letra) em cada interação. Outro exemplo:
E se eu quiser fazer como um for normal?

Comparação do for em C e Python
  C                                    Python




 O comando range() gera uma sequência(lista) de inteiros. help(range)
 C                                      Python




Exibindo os pares de 50 até 99 com o a variável incrementando de 2 em 2.

Contenu connexe

Tendances

Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcionalfabiocerqueira
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugolGabriel Faustino
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlgWillians Miyabara
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlex Camargo
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Cloves da Rocha
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Pacc UAB
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 

Tendances (20)

Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 

Similaire à Python - Introdução

Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Marcelo Barros de Almeida
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução PythonGleison Rodrigues
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Pythonguestac3de
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando PythonHelio Loureiro
 
Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfPython_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfValter moreira
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Pythonrodrigopex
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webAlvaro Oliveira
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsHelio Colombe
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação PythonJunior Sobrenome
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 pythonTiago
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6Fabio Spanhol
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Flávio Ribeiro
 
Python django7semestre
Python django7semestre Python django7semestre
Python django7semestre Denis Vieira
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6 Fabio Spanhol
 

Similaire à Python - Introdução (20)

Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Python
 
Python para Desenvolvedores
Python para DesenvolvedoresPython para Desenvolvedores
Python para Desenvolvedores
 
LP1 P01 - Python.pdf
LP1 P01 - Python.pdfLP1 P01 - Python.pdf
LP1 P01 - Python.pdf
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando Python
 
Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfPython_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdf
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Python
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Introdução à linguagem python
Introdução à linguagem pythonIntrodução à linguagem python
Introdução à linguagem python
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
Python django7semestre
Python django7semestre Python django7semestre
Python django7semestre
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 

Dernier

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Dernier (6)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Python - Introdução

  • 1.
  • 2. Apresentação Aluno do 4º semestre da graduação em Ciência da Computação da UECE. Presidente da empresa jr. da Computação da UECE – Acens Fábio Cerqueira (fabio@acens.com.br)
  • 3. Objetivo do Curso • Mostrar uma “nova” e ótima opções de linguagens para desenvolvimento; • Apresentar a linguagem Python, suas facilidades e sua produtividade; • Realizar práticas para desenvolver a maneira de pensar com Python.
  • 4. O que você já conhece?
  • 5. Porque Python? Versão do primeiro programa em C: #include <stdio.h> int main() { printf(“Hello World!”); return 0; } Versão do primeiro programa em Python: print “Hello World!” “Python é simples e correta.”
  • 7. Para que se usa Python? • Educação; • Desenvolvimento Web; • Desktop GUIs; • Acesso a Bases de Dados; • Computação Numérica e Científica; • Programação em Rede; •Jogos e Gráficos 3D;
  • 8. História do Python • Criada no natal de 1989; • Guido Van Rossum; • Nome não veio da cobra. (Monty Python) • Influências de ABC, Haskell, C, Perl, SmallTalk, Modula 3; • Hoje Guido Van Rossum trabalha na Google.
  • 9. Características do Python • Interpretada; • Portável(Multi-plataforma); • Extensível (C, Java, .NET); • Livre; • Tudo é objeto em Python; • Multiparadigma: Procedural, Orientada a objetos, Funcional; • Case-sensitive;
  • 10. Características do Python II • Simples e Legível; • Suporte nativo a estrutura de dados de alto nível; • Sem declaração de variáveis; • Tipagem Forte e Dinâmica; • Controle de escopo por indentação.
  • 11. Download e instalação do Python • Download no site oficial: http://www.python.org/download/ • Versão usada no curso: 2.5 (python-2.5.msi) • Versão em desenvolvimento: beta 2.6 e 3.0
  • 18. Usando o IDLE • Opção para auto completar o código; • Opção de debug; • Sintaxe colorida; • Editor além do Shell; • Outras muitas opções; • E ainda é mais bonito. =D
  • 21. Variáveis • Fortemente tipada; • Tipagem dinâmica; • Tudo é objeto; • Não é necessário declarar.
  • 22. Conhecendo outros tipos Conversão automática de int para long:
  • 23. Conhecendo outros tipos O que é falso para Python? Tipo bool representa valores lógicos 0 e 1
  • 24. Complex? O.o Python vem com o tipo para representar números complexos.
  • 25. Tudo é objeto As variáveis podem ser iniciadas da forma já mostrada ou com uso de construtores. O construtor do tipo int possui opção de escolha da base.
  • 26. Atribuição mutua Troca-troca de valores. A atribuição mutua é conseqüência da atribuição múltipla.
  • 27. Strings. E o tipo char? • É, Python não tem tipo char =/ • Isso é um problema? • Aspa simples ou aspa dupla podem ser usadas nas strings.
  • 29. Mais Operadores Operadores de comparação Existem outros operadores usados para comparação, futuramente citarei mais alguns e outros você conhecerá com a prática.
  • 30. Mais Operadores Operadores lógicos Operadores lógicos são usados principalmente junto com estruturas de controle que veremos neste curso.
  • 32. Voltando às strings Strings são seqüências(Tira ou não o trema?) especiais do python. • Operações mágicas sobre string.(Slices)
  • 33. Operadores para string Python oferece alguns operadores para trabalhar com string.
  • 35. Tipos especiais de string Fugindo dos caracteres especiais. O r no início da string indica que os ... não serão interpretados como especiais.
  • 36. Tipos especiais de string São as strings de múltiplas linhas. Inicia a string com ””” e finaliza com ”””
  • 37. Tipos especiais de string Tipo especial Unicode.
  • 39. Métodos do objeto str Existem vários métodos para string. Abaixo alguns:
  • 40. Documentação interativa Python possui uma documentação interativa que ajuda bastante o programador. Como não mostrarei todos os métodos do tipo str veja uma maneira simples de aprender. O comando help() mostra a documentação para o objeto passado como parâmetro.
  • 41. Documentação interativa Não é preciso acessar a documentação de toda a classe para estudar só um método. Documentação para o método find() da classe str
  • 42. 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...])
  • 44. Mais comandos Existem outros comandos importantes que serão vistos durante o curso.
  • 45. Entrada de dados Em modo console para receber dados do usuário 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()
  • 46. raw_input ou input Observe outro exemplo: Ao tentarmos receber uma string com input não foi possível salvar o dado na variável cor. Note que o valor atribuído a cor foi o valor que havia sido salvo na variável verde.
  • 47. raw_input ou input O mesmo exemplo da cor com o comando raw_input(): Note que o valor atribuído a cor foi exatamente a string digitada. E se eu quiser que seja o valor da variável verde? O que fazer? O comando eval faz a “mágica” o
  • 48. O comando eval() Entendendo melhor o comando eval() O eval retorna o resultado da interpretação da string passada que representa uma expressão Python. Para ver mais use a documentação interativa. help(eval)
  • 49. “Sim... E aí?” • Podemos chegar a conclusão 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 situação vai ser usada.
  • 51. if e else em C
  • 52. Controle de escopo Observe que o código em python não usa { } para controle de escopo. E muito menos begin e end como em outra linguagens. • O único indicador de início de escopo são os dois pontos “:” • O bloco será identificados pelas indentação. O comandos pass usado acima não faz nada =D
  • 53. Switch Quem já usou Switch para controle de tomada de decisão em um código? Legal... Python não tem... =/
  • 54. elif elif é usado em situações que existem mais de dois caminhos para uma avaliação. Para quem sente falta do switch o elif pode ser usado para as mesmas coisas.
  • 55. Condicional de uma linha Sintaxe: VALORVERDADE if condicao else VALORFALSO Em outra linguagens isso é bem mais bonito. Exemplo:
  • 56. Estrutura de repetição As estruturas de repetição em Python são: for e while while Observe o exemplo: Assim como todo bloco de comandos em Python, aqui o controle de Escopo também é feito por indentação.
  • 57. Continuando while O while em Python é muito comum em relação 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 diferença do while do python para outras linguagens.
  • 58. break Python possui a instrução break. Veja o exemplo: A instrução break interrompe o laço realizando uma para abrupta dele e finalizando sua execução.
  • 59. continue Python possui também a instrução continue Veja o exemplo: A instrução continue termina a interação atual do laço voltando para checagem de condição.
  • 60. E o else, homi? O else em laços é executado caso não seja executada uma interrupção feita pela instrução break. Exemplo: Como o valor digitado no exemplo foi 999 não irá executar o break, logo o bloco do else foi executado.
  • 61. 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 também possui o bloco else e funciona da mesma maneira.
  • 62. Entendendo o for Nada melhor que um exemplo: O for em Python “varre” toda a sequência(empresa) e guarda o valor na variável(letra) em cada interação. Outro exemplo:
  • 63. E se eu quiser fazer como um for normal? Comparação do for em C e Python C Python O comando range() gera uma sequência(lista) de inteiros. help(range) C Python Exibindo os pares de 50 até 99 com o a variável incrementando de 2 em 2.