Programando em
Python

Claudio Esperança
Por que programar?
 É divertido
 Melhor que usar programas feitos por outros
 Fazer programas = resolver quebra-cabeças
 Programação como arte
 É útil



Programação como ferramenta
Pode ser aplicado a quase qualquer atividade


Arte / Ciência / Filosofia / Entretenimento
Algoritmos e Programas
 Algoritmo = método para solucionar um problema
 Estruturas de dados = método para organizar

informações
 Programa = algoritmos + estruturas de dados
expressos de forma a ser entendidos pelo
computador
 Programas tipicamente processam dados de entrada
e produzem dados de saída

Entrada

Programa

Saída
Linguagem de Programação
 Linguagem artificial com sintaxe e semântica

bem definidos
 Usada para exprimir programas
 Mais “técnica” do que linguagens naturais
 Menos “técnica” do que a linguagem nativa
dos computadores (linguagem de máquina)
Compiladores
 Programas que traduzem programas escritos em linguagem de

programação para programas equivalentes escritos em
linguagem de máquina
 O primeiro é chamado de programa fonte, enquanto que o
segundo é chamado de programa objeto

Programa
fonte

Compilador

Programa
objeto
Link-Editores
 O programa-objeto nem sempre está pronto

para ser executado


Outros trechos de código precisam ser incluídos



Bibliotecas
Subprogramas

 Programa executável é montado por um

programa chamado link-editor ou linking-loader


Compilador normalmente chama o link-editor
automaticamente
Link-Editores

Prog
objeto 1
Programa
executável

Link Editor
Prog
objeto N
Biblioteca

Biblioteca
Interpretadores
 Simulam uma “máquina virtual”
 Programa fonte é lido, entendido e as

instruções são executadas imediatamente

Entrada

Interpretador

Programa
fonte

Saída
Esquemas Híbridos
 Compilador gera código para uma máquina virtual

(pseudo-código)
 Máquina virtual é executada separadamente lendo
pseudo-código e interpretando-o
Prog.
Fonte

Dados
Entrada
Interpretador

Compilador

Prog
objeto

Saída
Por que Python?
 Simples o suficiente para um curso introdutório
 Muitos recursos


Orientação a Objetos



Escalável (módulos, classes, controle de exceções)

Biblioteca embutida extensa e grande número de
módulos fornecidos por terceiros
Grande variedade de aplicações
Linguagem interpretada (script)
Multi-plataforma
Grátis!
Comunidade bastante grande







O que vamos precisar
 Uma implementação da linguagem




http://www.python.org
Implementação pronta para baixar (windows)
Linux normalmente já vem com python
instalado

 Um editor de textos



Qualquer editor serve
Ambiente IDLE inclui um editor


Incluído na distribuição windows
Python Interativo
 Rode o interpretador
 Digite comandos python
 Cada comando é executado imediatamente
[cancer]~> python
Python 2.4.1 (#1, May 16 2005, 15:19:29)
[GCC 4.0.0 20050512 (Red Hat 4.0.0-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "alo!"
alo!
>>>
Executando um programa
Python
 Escreva um programa python
 Invoque o interpretador para executá-lo

[cancer]~> cat prog.py
print "alo!"
[cancer]~> python prog.py
alo!
Executando um programa Python
 Interfaces gráficas normalmente já associam os

sufixos .py e .pyc com o interpretador

00 programando em python - introducao

  • 1.
  • 2.
    Por que programar? É divertido  Melhor que usar programas feitos por outros  Fazer programas = resolver quebra-cabeças  Programação como arte  É útil   Programação como ferramenta Pode ser aplicado a quase qualquer atividade  Arte / Ciência / Filosofia / Entretenimento
  • 3.
    Algoritmos e Programas Algoritmo = método para solucionar um problema  Estruturas de dados = método para organizar informações  Programa = algoritmos + estruturas de dados expressos de forma a ser entendidos pelo computador  Programas tipicamente processam dados de entrada e produzem dados de saída Entrada Programa Saída
  • 4.
    Linguagem de Programação Linguagem artificial com sintaxe e semântica bem definidos  Usada para exprimir programas  Mais “técnica” do que linguagens naturais  Menos “técnica” do que a linguagem nativa dos computadores (linguagem de máquina)
  • 5.
    Compiladores  Programas quetraduzem programas escritos em linguagem de programação para programas equivalentes escritos em linguagem de máquina  O primeiro é chamado de programa fonte, enquanto que o segundo é chamado de programa objeto Programa fonte Compilador Programa objeto
  • 6.
    Link-Editores  O programa-objetonem sempre está pronto para ser executado  Outros trechos de código precisam ser incluídos   Bibliotecas Subprogramas  Programa executável é montado por um programa chamado link-editor ou linking-loader  Compilador normalmente chama o link-editor automaticamente
  • 7.
  • 8.
    Interpretadores  Simulam uma“máquina virtual”  Programa fonte é lido, entendido e as instruções são executadas imediatamente Entrada Interpretador Programa fonte Saída
  • 9.
    Esquemas Híbridos  Compiladorgera código para uma máquina virtual (pseudo-código)  Máquina virtual é executada separadamente lendo pseudo-código e interpretando-o Prog. Fonte Dados Entrada Interpretador Compilador Prog objeto Saída
  • 10.
    Por que Python? Simples o suficiente para um curso introdutório  Muitos recursos  Orientação a Objetos  Escalável (módulos, classes, controle de exceções) Biblioteca embutida extensa e grande número de módulos fornecidos por terceiros Grande variedade de aplicações Linguagem interpretada (script) Multi-plataforma Grátis! Comunidade bastante grande      
  • 11.
    O que vamosprecisar  Uma implementação da linguagem    http://www.python.org Implementação pronta para baixar (windows) Linux normalmente já vem com python instalado  Um editor de textos   Qualquer editor serve Ambiente IDLE inclui um editor  Incluído na distribuição windows
  • 12.
    Python Interativo  Rodeo interpretador  Digite comandos python  Cada comando é executado imediatamente [cancer]~> python Python 2.4.1 (#1, May 16 2005, 15:19:29) [GCC 4.0.0 20050512 (Red Hat 4.0.0-5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "alo!" alo! >>>
  • 13.
    Executando um programa Python Escreva um programa python  Invoque o interpretador para executá-lo [cancer]~> cat prog.py print "alo!" [cancer]~> python prog.py alo!
  • 14.
    Executando um programaPython  Interfaces gráficas normalmente já associam os sufixos .py e .pyc com o interpretador