SlideShare ist ein Scribd-Unternehmen logo
1 von 82
Python
Introdução
• Python é uma linguagem de
  programação fácil de aprender e
  poderosa;
• É orientada a objetos;
• Possui uma vasta biblioteca de classes e
  funções prontas;
• Python já vem com as pilhas !
Introdução
• Um dos princípios de Python é que
  seus programas sejam fáceis de ler, ou
  seja, nada de chaves, ponto-e-vírgula,
  begin, end, etc.
• Além da sua vasta biblioteca, a
  linguagem Python pode ser estendida
  através novas funções escritas em
  Python, C, C++, Java, C#, etc.
Quem usa Python ?
• Google - Aplicações Web;
• Yahoo - Aplicações Web;
• Microsoft - IronPython (Python
  para .NET);
• Nokia - Python S60 (Python para
  celulares);
• Disney - Usa para fazer animações 3D.
Versões de Python
• Versão oficial, mantida pela PSF
  (Python Software Foundation):
 • http://www.python.org
• Python para .NET: IronPython;
• Python para Java: Jython;
• Python em Python (?!): PyPy.
Instalando Python
• Os sistemas operacionais Linux e
  MacOS já vêm com um interpretador de
  Python instalado;
• No Windows é necessário instalar;
• Existem vários interpretadores de
  Python disponíveis, o oficial é grátis e
  está disponível no endereço:
 • http://www.python.org
http://www.python.org

      Clicar em “download”
Selecionando a versão



         “Python 2.6.5 Windows installer”
Editores

• Editor de texto simples;
• Interpretador interativo;
• Idle;
• Eclipse + PyDev.
Editores de Texto Simples

  • Bloco de notas;
  • Notepad++;
  • Emacs;
  • TextMate;
Interpretador Interativo
Idle
PyDev
• O PyDev é um ambiente de
  desenvolvimento integrado para Python
  feito sobre a plataforma Eclipse;
• Alguns dos recursos do PyDev são:
 • Completar automaticamente;
 • Colorir o código;
 • Depurador;
 • etc.
http://pydev.org
Como instalar
• Existem duas formas:
 • Instalação pelo mecanismo de
   atualização do Eclipse (instalação
   rápida);
 • Baixar o pacote completo e
   descompactar na pasta “dropins” do
   Eclipse.
Instalação rápida
    Abrir o Eclipse
Instalando novo software
    2           Digitar o endereço:
            http://pydev.org/updates
1                                        3

                    Clicar em “Add...”
Adicionando um site



                       1

      Clicar em “OK”
Escolhendo o pacote

Selecionar “PyDev”


  1




                     Clicar em “Next”


                       2
Vendo o resumo




      Clicar em “Next”


        1
I accept the terms ...




Selecionar “I accept ...”

1                           Clicar em “Finish”

                                           2
Reiniciar o Eclipse ?


             Clique em “Yes”


                        1
OU
Baixando o pacote
        1   Entrar no site http://pydev.org
2
Clicar em “Download”
Escolhendo o pacote




Clicar em “SourceForge download”

1
Fazendo o download




1

Clicar em “Download Now!”
Descompactando ...

                    1
             Descompacte o arquivo
               na pasta “dropins”
Inicie o Eclipse
Criando
  um
Projeto
Arquivo / Novo Projeto ...
PyDev Project


Selecione PyDev

          1

                      Clique em “Next”


                     2
Configurando um Interpretador




Clique em “Please configure an interpreter ...”

          1
Novo interpretador

                              1
     Clique em “Auto Config”
Auto Config




                     1
    Clique em “OK”
Auto Config




             Clique em “OK”


                   1
Autoconfig não funcionou
 • Se o autoconfig não funcionar você vai:
  • Clicar no botão “New”;
  • Seleciona o arquivo python.exe
    instalado no seu computador
    (normalmente este arquivo fica na
    pasta C:Python26python.exe);
  • Clicar no botão “Ok”.
Novo Projeto
       Digite o nome do projeto: “Aula1”


1




                             Clique em “Finish”
                       2
Mudar Perspectiva ?



               Clique em “Yes”

                     1
Criando um módulo
• Clique na seta ( ) localizada no lado
  esquerdo do projeto para exibir o seu
  conteúdo;
• Na pasta “     ” (onde estarão
  armazenados os artefator Python)
  clique com o botão direito do mouse;
• Selecione a opção “New -> PyDev
  Module” (          )
Novo módulo

       Digite o nome do módulo: “aula1”


1


                           Clique em “Finish”

                    2
Módulo aula1
• Parabéns, o seu primeiro módulo em
  Python !
Hello World
• Para variar, vamos fazer um “Hello World”
• Digite no seu módulo a linha:
 • print 'Hello World !'
• Com o botão direito do mouse, clique sobre
  o seu módulo e selecione a opção “Run As -
  > Python Run”;
• No console você verá:
 • Hello World !
Alguns conceitos ...
Variáveis
• Variáveis armazenam valores;
• Declarando variáveis:
 • nome = valor
 • nome1, nome2 = valor1, valor2
• Variáveis podem ser declaradas em qualquer
  ponto do código;
• Variáveis precisam ser declaradas/
  inicializadas antes de serem utilizadas.
Linguagens podem ser:
• Estaticamente tipadas:
  • Os tipos são fixados em tempo de compilação;
• Dinamicamente tipadas:
  • Os tipos são descobertos em tempo de
    execução;
• Fortemente tipadas:
  • Os tipos são assegurados;
• Fracamente tipadas:
  • Os tipos não importam muito.
Python é:
• Ao mesmo tempo:
 • Dinamicamente tipada:
   • As variáveis são declaradas sem um
     tipo;
   • O seu tipo é estabelecido na
     inicialização;
 • Fortemente tipada:
   • Após a inicialização, o tipo da variável
     importa.
Por exemplo:
#Exemplo errado
valor = ‘123’
valor += 4
TypeError: cannot concatenate 'str' and 'int' objects

#Exemplo correto
valor = ‘123’
valor += str(4)
Exibindo valores na tela

 • print valor
 • Ou
 • print valor1, valor2, ..., valorN
 • É só isso mesmo :)
Exemplo

• Usando Python como calculadora:
 • print (2 + 2) * 4 / 8
• Você pode usar o console interativo
  para fazer os seus testes:
Lendo Valores do Teclado


 • valor = raw_input( )
 • nome = raw_input(“Digite seu nome: “)
Exemplo


• Brinque um pouco com os conceitos
  aprendidos até agora:
  nome = raw_input('Digite o seu nome:')

  print 'Bom dia', nome, 'como vai ?'
• ATENÇÃO !!!

 • Normalmente os interpretadores Python apenas
   aceitam que o código seja composto apenas por
   caracteres ASCII (ou seja, nada de acentos) !

 • Porém, é possível mudar a codificação do texto
   aceita;

 • No início de um módulo, basta colocar a linha:
                              Diretiva de pré-processador

   • # -*- coding: latin-1 -*-

 • Onde latin-1 é a codificação do Português do
   Brasil.
Strings
• Dividindo:
  • nome = “Bruno Gama Catao”
  • nome.split( )
• Tamanho:
  • len(nome) #Retorna 16
• Caracteres:
  • nome[3] #Retorna ‘n’
• Substrings:
  • nome[2:7] #Retorna ‘uno G’
Atenção !
Os índices em Python iniciam em 0 (zero)
Strings
• Convertendo para maiúsculas:
  • nome.upper( )
• Convertendo para minúsculas:
  • nome.lower( )
• Primeiras letras maiúsculas:
  • nome.title( )
• Encontrar ocorrência:
  • nome.find(‘Ga’) #Retorna 6
Strings
• Strings podem ser definidos com aspas simples
  (‘) ou aspas duplas (“);
• Também é possível definir Strings de múltiplas
  linhas usando aspas triplas (‘’’) ou (“””);
• Ex:
 nomes = ‘’‘Joao
 Maria
 Jose’’’
Dicas
• Para descobrir quais são as funções/
  métodos de um objeto digite:
 • dir (objeto) - exemplo: dir (lista)
• Para obter maiores informações sobre
  funções/métodos/objetos digite:
 • help (função) - exemplo: dir (str)

                               Façam o teste !
Listas
• Declarando:
 • lista = [ ]
 • lista = [‘banana’, ‘pera’, ‘tomate’]
• Adicionando:
 • lista.append(‘jaboticaba’)
 • lista + [‘jaboticaba’]
• Acessando:
 • lista[2] # retorna ‘pera’
Listas
• Removendo:
 • lista.remove(“banana”)
 • lista.pop( )
 • lista.pop(2)
• Testando:
 • “pitanga” in lista
Listas
• Modificando:
 • lista[2] = ‘pitanga’
• Sub-listas:
 • lista[0:2] # retorna: [‘banana’, ‘pitanga’]
 • lista[:2]
 • lista[1:]
Listas
• Ordenando:
 • lista.sort( )
• Revertendo:
 • lista.reverse( )
• Tamanho:
 • len(lista)
Função range
• Retorna uma lista, contendo os valores de um
  intervalo;
• Ex:
 • range(10) - retorna os números de 0 a 9;
 • range(2, 100) - retorna os números de 2 a 99;
 • range(10, 0, -1) - retorna os números de 10 a
   0 com incremento de -1.
Desvios Condicionais

• if condicao:
 • código se a condição for verdadeira
• else:
 • código se a condição for falsa
Desvios Condicionais
• if condicao1:
  • código caso a condição 1 for verdadeira
• elif condicao2:
  • código caso a condição 2 for verdadeira
• elif condicao3:
  • código caso a condição 3 for verdadeira
• else:
  • código caso nenhuma das condições for
    verdadeira
Indentação de Código
• Atenção !!!
 • A primeira linha de um bloco define a
   indentação das linhas restantes;
 • Portanto, a quantidade de espaços/
   tabs devem ser mantidas;
 • Cuidado para não confundir espaços
   por tabs e vice-versa.
Exemplo
                  Testem executar com e sem esta linha !

# -*- coding: latin-1 -*-
nome = raw_input('Digite o seu nome:')
ano = int(raw_input('Em que ano você nasceu ?'))
idade = 2010 - ano

if idade < 18:
    print nome, 'é menor de idade'
else:
    print nome, 'é maior de idade'
Laços
• for - percorre os elementos de uma lista/
  tupla;
• Exemplo:
 • pessoas = [‘joao’, ‘maria’, ‘ana’, ‘pedro’]
 • for pessoa in pessoas:
   • print pessoa
Função enumerate
• enumerate(lista) - retorna uma lista de
  tuplas (indice, valor) para cada um dos
  elementos da lista;
• Exemplo:
 • for indice, fruta in enumerate(frutas):
   • print indice, fruta
Desafio
• Faça um programa que leia nomes do teclado até que seja
  digitada a palavra ‘sair’;
• Os nomes deverão ser armazenados em uma lista;
• O programa deverá exibir todos os nomes digitados, um por
  linha, no formato:
  • índice nome
• Ex:
  • 1 josé
  • 2 maria
  • 3 pedro
Formatando Strings
• x = 10
• y = 20
• texto = “posição: %d, %d” % (x, y)
• Modificadores:
 • %d - dígitos inteiros;
 • %s - string;
 • %f - ponto flutuante.
Formatando Strings


• Exemplo:
 • pi = 3.1415926
 • print “pi = %.2f” % pi
Leitura de Arquivos

• arquivo = open(‘arquivo’)
• linhas = arquivo.readlines( )
• print linhas
• arquivo.close( )
Escrita de Arquivos


• arquivo = open(‘arquivo’, ‘w’)
• arquivo.write(valor)
• arquivo.close( )
Função open
• A função open possui dois parâmetros;
• O primeiro é o nome do arquivo a ser
  aberto;
• O segundo é o modo:
 • r - modo read (leitura) - modo padrão;
 • w - modo write (escrita);
 • a - modo append (adiciona conteúdo ao
   final do arquivo).
Desafio

• Faça um programa que leia nomes do
  teclado até que seja digitada a palavra
  ‘sair’;
• Os nomes deverão ser armazenados em
  um arquivo de texto.
Biblioteca de módulos
• Python vem com vários módulos cheios
  de funções prontas para serem usadas;
• Para usar um destes módulos é
  necessário antes importá-lo:
 • import nome_do_módulo
• Exemplo:
 • import os
Módulos
• Módulos são compostos por classes e
  funções;
• É possível importar apenas uma classe ou
  função específica de um módulo, ao invés
  de importar o módulo todo:
 • from modulo import entidade
• Ex:
 • from datetime import date
Alguns módulos
• os - Funções do sistema operacional;
• datetime - Funções de data e hora;
• math - Funções matemáticas;
• random - Geração de números
  aleatórios;
• urllib2 - Acesso a internet;
• smtplib - Envio de emails.
Exibindo a data atual


 import datetime

 #Mostrando a data atual
 print datetime.date.today()
Exibindo a data atual 2


  from datetime import date

  #Mostrando a data atual
  print date.today()
Listando arquivos


import os

for arquivo in os.listdir('C:'):
    print arquivo
Enviando E-mails
import smtplib

server       =   'smtp.mail.yahoo.com.br'
user         =   'usuario'
passwd       =   'senha'
sender       =   'brunogamacatao@yahoo.com.br'
recipients   =   ['brunogamacatao@gmail.com']

msg = '''
Texto da mensagem
'''

session = smtplib.SMTP(server)
session.login(user, passwd)
session.sendmail(sender, recipients, msg)

Weitere ähnliche Inhalte

Was ist angesagt?

Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Luciano Ramalho
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na práticaRafael Cassau
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Luciano Ramalho
 
Design de código: princípios e práticas para ter um código sustentável
Design de código: princípios e práticas para ter um código sustentávelDesign de código: princípios e práticas para ter um código sustentável
Design de código: princípios e práticas para ter um código sustentávelAndrews Medina
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Luciano Ramalho
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Java Básico - Resolução
Java Básico - ResoluçãoJava Básico - Resolução
Java Básico - ResoluçãoAndré Salla
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordidaLuciano Ramalho
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compactoLuciano Ramalho
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 5
Implementação de Aplicações Móveis e Jogos com Python - Aula 5Implementação de Aplicações Móveis e Jogos com Python - Aula 5
Implementação de Aplicações Móveis e Jogos com Python - Aula 5Flávio Ribeiro
 
Palestra python
Palestra pythonPalestra python
Palestra pythonRony Cruch
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 4
Implementação de Aplicações Móveis e Jogos com Python - Aula 4Implementação de Aplicações Móveis e Jogos com Python - Aula 4
Implementação de Aplicações Móveis e Jogos com Python - Aula 4Flávio Ribeiro
 

Was ist angesagt? (19)

Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e Python
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Python
PythonPython
Python
 
Python 08
Python 08Python 08
Python 08
 
Design de código: princípios e práticas para ter um código sustentável
Design de código: princípios e práticas para ter um código sustentávelDesign de código: princípios e práticas para ter um código sustentável
Design de código: princípios e práticas para ter um código sustentável
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Java Básico - Resolução
Java Básico - ResoluçãoJava Básico - Resolução
Java Básico - Resolução
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 5
Implementação de Aplicações Móveis e Jogos com Python - Aula 5Implementação de Aplicações Móveis e Jogos com Python - Aula 5
Implementação de Aplicações Móveis e Jogos com Python - Aula 5
 
Palestra python
Palestra pythonPalestra python
Palestra python
 
How stuff works
How stuff worksHow stuff works
How stuff works
 
Javascript
JavascriptJavascript
Javascript
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 4
Implementação de Aplicações Móveis e Jogos com Python - Aula 4Implementação de Aplicações Móveis e Jogos com Python - Aula 4
Implementação de Aplicações Móveis e Jogos com Python - Aula 4
 
Java para iniciantes
Java para iniciantesJava para iniciantes
Java para iniciantes
 

Andere mochten auch

WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?Humberto Diógenes
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN StackBruno Catão
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação PythonCarlos Schults
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonOsvaldo Santana Neto
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!Juliano Atanazio
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Marco Mendes
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilMarcel Caraciolo
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Python no Celular
Python no CelularPython no Celular
Python no Celulariuridiniz
 

Andere mochten auch (20)

Mean Stack
Mean StackMean Stack
Mean Stack
 
Python 07
Python 07Python 07
Python 07
 
Web Offline
Web OfflineWeb Offline
Web Offline
 
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN Stack
 
Python 06
Python 06Python 06
Python 06
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação Python
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!
 
Introducao python 2010
Introducao python 2010Introducao python 2010
Introducao python 2010
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009
 
Angular js
Angular jsAngular js
Angular js
 
Porque Python?
Porque Python?Porque Python?
Porque Python?
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no Brasil
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Python no Celular
Python no CelularPython no Celular
Python no Celular
 

Ähnlich wie Python 01

Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 
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
 
ALG 06 - Tipos Primitivos de Dados.ppt
ALG 06 - Tipos Primitivos de Dados.pptALG 06 - Tipos Primitivos de Dados.ppt
ALG 06 - Tipos Primitivos de Dados.pptCatia Cilene
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It YourselfBruno Nascimento
 
ALGEBRA 06 - Tipos Primitivos de Dados.ppt
ALGEBRA 06 - Tipos Primitivos de Dados.pptALGEBRA 06 - Tipos Primitivos de Dados.ppt
ALGEBRA 06 - Tipos Primitivos de Dados.ppttridapalliadriana
 
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
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação PythonJunior Sobrenome
 
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
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptMichaelArrais1
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02thomasdacosta
 

Ähnlich wie Python 01 (20)

Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a 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
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
ALG 06 - Tipos Primitivos de Dados.ppt
ALG 06 - Tipos Primitivos de Dados.pptALG 06 - Tipos Primitivos de Dados.ppt
ALG 06 - Tipos Primitivos de Dados.ppt
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
 
Aula 9 - Introdução ao Python
Aula 9 - Introdução ao PythonAula 9 - Introdução ao Python
Aula 9 - Introdução ao Python
 
Python for kids
Python for kidsPython for kids
Python for kids
 
ALGEBRA 06 - Tipos Primitivos de Dados.ppt
ALGEBRA 06 - Tipos Primitivos de Dados.pptALGEBRA 06 - Tipos Primitivos de Dados.ppt
ALGEBRA 06 - Tipos Primitivos de Dados.ppt
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
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
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).ppt
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
 
Python para Desenvolvedores
Python para DesenvolvedoresPython para Desenvolvedores
Python para Desenvolvedores
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Programando em Go
Programando em GoProgramando em Go
Programando em Go
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 
Fascículo1java
Fascículo1javaFascículo1java
Fascículo1java
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 

Mehr von Bruno Catão

Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2Bruno Catão
 
Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Bruno Catão
 
React JS - Parte 2
React JS - Parte 2React JS - Parte 2
React JS - Parte 2Bruno Catão
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1Bruno Catão
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + FirebaseBruno Catão
 
Retina e Retinose Pigmentar
Retina e Retinose PigmentarRetina e Retinose Pigmentar
Retina e Retinose PigmentarBruno Catão
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Unity3d Space Shooter (Parte 1)
Unity3d Space Shooter (Parte 1)Unity3d Space Shooter (Parte 1)
Unity3d Space Shooter (Parte 1)Bruno Catão
 
Introdução ao Framework Grails
Introdução ao Framework GrailsIntrodução ao Framework Grails
Introdução ao Framework GrailsBruno Catão
 
O framework spring
O framework springO framework spring
O framework springBruno Catão
 

Mehr von Bruno Catão (14)

Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2
 
Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2
 
React JS - Parte 2
React JS - Parte 2React JS - Parte 2
React JS - Parte 2
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1
 
Node JS - Parte 4
Node JS - Parte 4Node JS - Parte 4
Node JS - Parte 4
 
Node JS - Parte 3
Node JS - Parte 3Node JS - Parte 3
Node JS - Parte 3
 
Node JS - Parte 2
Node JS - Parte 2Node JS - Parte 2
Node JS - Parte 2
 
Node JS - Parte 1
Node JS - Parte 1Node JS - Parte 1
Node JS - Parte 1
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + Firebase
 
Retina e Retinose Pigmentar
Retina e Retinose PigmentarRetina e Retinose Pigmentar
Retina e Retinose Pigmentar
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Unity3d Space Shooter (Parte 1)
Unity3d Space Shooter (Parte 1)Unity3d Space Shooter (Parte 1)
Unity3d Space Shooter (Parte 1)
 
Introdução ao Framework Grails
Introdução ao Framework GrailsIntrodução ao Framework Grails
Introdução ao Framework Grails
 
O framework spring
O framework springO framework spring
O framework spring
 

Python 01

  • 2. Introdução • Python é uma linguagem de programação fácil de aprender e poderosa; • É orientada a objetos; • Possui uma vasta biblioteca de classes e funções prontas; • Python já vem com as pilhas !
  • 3. Introdução • Um dos princípios de Python é que seus programas sejam fáceis de ler, ou seja, nada de chaves, ponto-e-vírgula, begin, end, etc. • Além da sua vasta biblioteca, a linguagem Python pode ser estendida através novas funções escritas em Python, C, C++, Java, C#, etc.
  • 4. Quem usa Python ? • Google - Aplicações Web; • Yahoo - Aplicações Web; • Microsoft - IronPython (Python para .NET); • Nokia - Python S60 (Python para celulares); • Disney - Usa para fazer animações 3D.
  • 5. Versões de Python • Versão oficial, mantida pela PSF (Python Software Foundation): • http://www.python.org • Python para .NET: IronPython; • Python para Java: Jython; • Python em Python (?!): PyPy.
  • 6. Instalando Python • Os sistemas operacionais Linux e MacOS já vêm com um interpretador de Python instalado; • No Windows é necessário instalar; • Existem vários interpretadores de Python disponíveis, o oficial é grátis e está disponível no endereço: • http://www.python.org
  • 7. http://www.python.org Clicar em “download”
  • 8. Selecionando a versão “Python 2.6.5 Windows installer”
  • 9. Editores • Editor de texto simples; • Interpretador interativo; • Idle; • Eclipse + PyDev.
  • 10. Editores de Texto Simples • Bloco de notas; • Notepad++; • Emacs; • TextMate;
  • 12. Idle
  • 13. PyDev • O PyDev é um ambiente de desenvolvimento integrado para Python feito sobre a plataforma Eclipse; • Alguns dos recursos do PyDev são: • Completar automaticamente; • Colorir o código; • Depurador; • etc.
  • 15. Como instalar • Existem duas formas: • Instalação pelo mecanismo de atualização do Eclipse (instalação rápida); • Baixar o pacote completo e descompactar na pasta “dropins” do Eclipse.
  • 16. Instalação rápida Abrir o Eclipse
  • 17. Instalando novo software 2 Digitar o endereço: http://pydev.org/updates 1 3 Clicar em “Add...”
  • 18. Adicionando um site 1 Clicar em “OK”
  • 19. Escolhendo o pacote Selecionar “PyDev” 1 Clicar em “Next” 2
  • 20. Vendo o resumo Clicar em “Next” 1
  • 21. I accept the terms ... Selecionar “I accept ...” 1 Clicar em “Finish” 2
  • 22. Reiniciar o Eclipse ? Clique em “Yes” 1
  • 23. OU
  • 24. Baixando o pacote 1 Entrar no site http://pydev.org 2 Clicar em “Download”
  • 25. Escolhendo o pacote Clicar em “SourceForge download” 1
  • 26. Fazendo o download 1 Clicar em “Download Now!”
  • 27. Descompactando ... 1 Descompacte o arquivo na pasta “dropins”
  • 30. Arquivo / Novo Projeto ...
  • 31. PyDev Project Selecione PyDev 1 Clique em “Next” 2
  • 32. Configurando um Interpretador Clique em “Please configure an interpreter ...” 1
  • 33. Novo interpretador 1 Clique em “Auto Config”
  • 34. Auto Config 1 Clique em “OK”
  • 35. Auto Config Clique em “OK” 1
  • 36. Autoconfig não funcionou • Se o autoconfig não funcionar você vai: • Clicar no botão “New”; • Seleciona o arquivo python.exe instalado no seu computador (normalmente este arquivo fica na pasta C:Python26python.exe); • Clicar no botão “Ok”.
  • 37. Novo Projeto Digite o nome do projeto: “Aula1” 1 Clique em “Finish” 2
  • 38. Mudar Perspectiva ? Clique em “Yes” 1
  • 39. Criando um módulo • Clique na seta ( ) localizada no lado esquerdo do projeto para exibir o seu conteúdo; • Na pasta “ ” (onde estarão armazenados os artefator Python) clique com o botão direito do mouse; • Selecione a opção “New -> PyDev Module” ( )
  • 40. Novo módulo Digite o nome do módulo: “aula1” 1 Clique em “Finish” 2
  • 41. Módulo aula1 • Parabéns, o seu primeiro módulo em Python !
  • 42. Hello World • Para variar, vamos fazer um “Hello World” • Digite no seu módulo a linha: • print 'Hello World !' • Com o botão direito do mouse, clique sobre o seu módulo e selecione a opção “Run As - > Python Run”; • No console você verá: • Hello World !
  • 44. Variáveis • Variáveis armazenam valores; • Declarando variáveis: • nome = valor • nome1, nome2 = valor1, valor2 • Variáveis podem ser declaradas em qualquer ponto do código; • Variáveis precisam ser declaradas/ inicializadas antes de serem utilizadas.
  • 45. Linguagens podem ser: • Estaticamente tipadas: • Os tipos são fixados em tempo de compilação; • Dinamicamente tipadas: • Os tipos são descobertos em tempo de execução; • Fortemente tipadas: • Os tipos são assegurados; • Fracamente tipadas: • Os tipos não importam muito.
  • 46. Python é: • Ao mesmo tempo: • Dinamicamente tipada: • As variáveis são declaradas sem um tipo; • O seu tipo é estabelecido na inicialização; • Fortemente tipada: • Após a inicialização, o tipo da variável importa.
  • 47. Por exemplo: #Exemplo errado valor = ‘123’ valor += 4 TypeError: cannot concatenate 'str' and 'int' objects #Exemplo correto valor = ‘123’ valor += str(4)
  • 48. Exibindo valores na tela • print valor • Ou • print valor1, valor2, ..., valorN • É só isso mesmo :)
  • 49. Exemplo • Usando Python como calculadora: • print (2 + 2) * 4 / 8 • Você pode usar o console interativo para fazer os seus testes:
  • 50. Lendo Valores do Teclado • valor = raw_input( ) • nome = raw_input(“Digite seu nome: “)
  • 51. Exemplo • Brinque um pouco com os conceitos aprendidos até agora: nome = raw_input('Digite o seu nome:') print 'Bom dia', nome, 'como vai ?'
  • 52. • ATENÇÃO !!! • Normalmente os interpretadores Python apenas aceitam que o código seja composto apenas por caracteres ASCII (ou seja, nada de acentos) ! • Porém, é possível mudar a codificação do texto aceita; • No início de um módulo, basta colocar a linha: Diretiva de pré-processador • # -*- coding: latin-1 -*- • Onde latin-1 é a codificação do Português do Brasil.
  • 53. Strings • Dividindo: • nome = “Bruno Gama Catao” • nome.split( ) • Tamanho: • len(nome) #Retorna 16 • Caracteres: • nome[3] #Retorna ‘n’ • Substrings: • nome[2:7] #Retorna ‘uno G’
  • 54. Atenção ! Os índices em Python iniciam em 0 (zero)
  • 55. Strings • Convertendo para maiúsculas: • nome.upper( ) • Convertendo para minúsculas: • nome.lower( ) • Primeiras letras maiúsculas: • nome.title( ) • Encontrar ocorrência: • nome.find(‘Ga’) #Retorna 6
  • 56. Strings • Strings podem ser definidos com aspas simples (‘) ou aspas duplas (“); • Também é possível definir Strings de múltiplas linhas usando aspas triplas (‘’’) ou (“””); • Ex: nomes = ‘’‘Joao Maria Jose’’’
  • 57. Dicas • Para descobrir quais são as funções/ métodos de um objeto digite: • dir (objeto) - exemplo: dir (lista) • Para obter maiores informações sobre funções/métodos/objetos digite: • help (função) - exemplo: dir (str) Façam o teste !
  • 58. Listas • Declarando: • lista = [ ] • lista = [‘banana’, ‘pera’, ‘tomate’] • Adicionando: • lista.append(‘jaboticaba’) • lista + [‘jaboticaba’] • Acessando: • lista[2] # retorna ‘pera’
  • 59. Listas • Removendo: • lista.remove(“banana”) • lista.pop( ) • lista.pop(2) • Testando: • “pitanga” in lista
  • 60. Listas • Modificando: • lista[2] = ‘pitanga’ • Sub-listas: • lista[0:2] # retorna: [‘banana’, ‘pitanga’] • lista[:2] • lista[1:]
  • 61. Listas • Ordenando: • lista.sort( ) • Revertendo: • lista.reverse( ) • Tamanho: • len(lista)
  • 62. Função range • Retorna uma lista, contendo os valores de um intervalo; • Ex: • range(10) - retorna os números de 0 a 9; • range(2, 100) - retorna os números de 2 a 99; • range(10, 0, -1) - retorna os números de 10 a 0 com incremento de -1.
  • 63. Desvios Condicionais • if condicao: • código se a condição for verdadeira • else: • código se a condição for falsa
  • 64. Desvios Condicionais • if condicao1: • código caso a condição 1 for verdadeira • elif condicao2: • código caso a condição 2 for verdadeira • elif condicao3: • código caso a condição 3 for verdadeira • else: • código caso nenhuma das condições for verdadeira
  • 65. Indentação de Código • Atenção !!! • A primeira linha de um bloco define a indentação das linhas restantes; • Portanto, a quantidade de espaços/ tabs devem ser mantidas; • Cuidado para não confundir espaços por tabs e vice-versa.
  • 66. Exemplo Testem executar com e sem esta linha ! # -*- coding: latin-1 -*- nome = raw_input('Digite o seu nome:') ano = int(raw_input('Em que ano você nasceu ?')) idade = 2010 - ano if idade < 18: print nome, 'é menor de idade' else: print nome, 'é maior de idade'
  • 67. Laços • for - percorre os elementos de uma lista/ tupla; • Exemplo: • pessoas = [‘joao’, ‘maria’, ‘ana’, ‘pedro’] • for pessoa in pessoas: • print pessoa
  • 68. Função enumerate • enumerate(lista) - retorna uma lista de tuplas (indice, valor) para cada um dos elementos da lista; • Exemplo: • for indice, fruta in enumerate(frutas): • print indice, fruta
  • 69. Desafio • Faça um programa que leia nomes do teclado até que seja digitada a palavra ‘sair’; • Os nomes deverão ser armazenados em uma lista; • O programa deverá exibir todos os nomes digitados, um por linha, no formato: • índice nome • Ex: • 1 josé • 2 maria • 3 pedro
  • 70. Formatando Strings • x = 10 • y = 20 • texto = “posição: %d, %d” % (x, y) • Modificadores: • %d - dígitos inteiros; • %s - string; • %f - ponto flutuante.
  • 71. Formatando Strings • Exemplo: • pi = 3.1415926 • print “pi = %.2f” % pi
  • 72. Leitura de Arquivos • arquivo = open(‘arquivo’) • linhas = arquivo.readlines( ) • print linhas • arquivo.close( )
  • 73. Escrita de Arquivos • arquivo = open(‘arquivo’, ‘w’) • arquivo.write(valor) • arquivo.close( )
  • 74. Função open • A função open possui dois parâmetros; • O primeiro é o nome do arquivo a ser aberto; • O segundo é o modo: • r - modo read (leitura) - modo padrão; • w - modo write (escrita); • a - modo append (adiciona conteúdo ao final do arquivo).
  • 75. Desafio • Faça um programa que leia nomes do teclado até que seja digitada a palavra ‘sair’; • Os nomes deverão ser armazenados em um arquivo de texto.
  • 76. Biblioteca de módulos • Python vem com vários módulos cheios de funções prontas para serem usadas; • Para usar um destes módulos é necessário antes importá-lo: • import nome_do_módulo • Exemplo: • import os
  • 77. Módulos • Módulos são compostos por classes e funções; • É possível importar apenas uma classe ou função específica de um módulo, ao invés de importar o módulo todo: • from modulo import entidade • Ex: • from datetime import date
  • 78. Alguns módulos • os - Funções do sistema operacional; • datetime - Funções de data e hora; • math - Funções matemáticas; • random - Geração de números aleatórios; • urllib2 - Acesso a internet; • smtplib - Envio de emails.
  • 79. Exibindo a data atual import datetime #Mostrando a data atual print datetime.date.today()
  • 80. Exibindo a data atual 2 from datetime import date #Mostrando a data atual print date.today()
  • 81. Listando arquivos import os for arquivo in os.listdir('C:'): print arquivo
  • 82. Enviando E-mails import smtplib server = 'smtp.mail.yahoo.com.br' user = 'usuario' passwd = 'senha' sender = 'brunogamacatao@yahoo.com.br' recipients = ['brunogamacatao@gmail.com'] msg = ''' Texto da mensagem ''' session = smtplib.SMTP(server) session.login(user, passwd) session.sendmail(sender, recipients, msg)

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n