Tecnologia em Sistemas para Internet - IFMS
Vamos aprender algo diferente?
Introdução à linguagem Python (aula 1)
Tópicos em Programação
Prof.º Msc. Sidney Roberto de Sousa
sidney.sousa@ifms.edu.br
Tec. em Sistemas para Internet - IFMS 2
O que veremos nesta aula?
● O que é Python?
● Porquê Python?
● Hands on: Instalação e configuração
● Hands on: Escrevendo programas em Python
Tec. em Sistemas para Internet - IFMS 3
O que é Python?
Tec. em Sistemas para Internet - IFMS 4
O que é Python?
● Linguagem de programação criada por Guido van
Rossum
●
Python é uma linguagem de alto nível
● Python é multiparadigma
– Programação funcional
– Programação imperativa
– Programação orientada a objetos
● Python é uma linguagem dinâmica
● Pode ser utilizada como linguagem de script
Tec. em Sistemas para Internet - IFMS 5
Princípios
(PEP 20 - The Zen of Python)
● Bonito é melhor que feio
● Explícito é melhor que implícito
● Simples é melhor que complexo
● Complexo é melhor que complicado
● Legibilidade é importante!
Tec. em Sistemas para Internet - IFMS 6
Porquê Python?
● Linguagem de propósito geral
● Multiplataforma e multiparadigma
● Fácil legibilidade
● Curva de aprendizado baixa
● Foco na produtividade → entregue mais cedo!
Tec. em Sistemas para Internet - IFMS 7
Índice TIOBE (Abril/2013)
Tec. em Sistemas para Internet - IFMS 8
Quem usa Python?
Tec. em Sistemas para Internet - IFMS 9
Chega de conversa!
Vamos trabalhar?
Tec. em Sistemas para Internet - IFMS 10
Hands on: Instalação e configuração
Tec. em Sistemas para Internet - IFMS 11
Download
http://www.python.org/getit/
Tec. em Sistemas para Internet - IFMS 12
Configuração: Windows
Para poder executar o Python dentro de
qualquer diretório via linha de comando,
adicione o caminho da pasta bin (localizada
dentro da pasta da instalação do Python) na
variável de ambiente Path
Tec. em Sistemas para Internet - IFMS 13
Instalando bibliotecas
Para instalar um novo componente/biblioteca
para utilizar em seus programas escritos em
Python, é necessário instalar a ferramenta pip
Tec. em Sistemas para Internet - IFMS 14
Instalando o pip no Windows
● Faça o download da última versão do pip neste link:
https://pypi.python.org/pypi/pip#downloads
● Descomprima a pasta do pip
● Faça o download do easy installer para o Windows no link a seguir
e o instale: https://pypi.python.org/pypi/setuptools
● No prompt do MS-DOS, entre na pasta do pip e execute o
comando abaixo:
python setup.py install
Tec. em Sistemas para Internet - IFMS 15
Instalando o pip no Ubuntu
No shell, digite o comando abaixo:
sudo apt-get install python-pip
Tec. em Sistemas para Internet - IFMS 16
Instalando novos componentes
● Para instalar um novo componente, use o pip
em linha de comando.
● Ex.:O comando abaixo instala o componente
Beautiful Soup:
pip install beautifulsoup
Tec. em Sistemas para Internet - IFMS 17
Tudo configurado! Vamos programar?
Tec. em Sistemas para Internet - IFMS 18
Hands on: Escrevendo programas em Python
Tec. em Sistemas para Internet - IFMS 19
Usando o shell do Python
$ python
Python 2.7.4 (default, Apr 19 2013, 18:28:01) 
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
>>>'Repetindo o texto 3 vezes' * 3
'Repetindo o texto 3 vezes Repetindo o texto 3 vezes Repetindo o texto 3 vezes '
Tec. em Sistemas para Internet - IFMS 20
Escrevendo scripts
● Escreva o seu programa Python em seu editor
de texto preferido
● Salve o seu script com a extensão .py
● Execute o seu script no shell com o comando
python:
python NOME_DO_SCRIPT.py
Tec. em Sistemas para Internet - IFMS 21
A seguir, alguns exemplos!
Tec. em Sistemas para Internet - IFMS 22
Imprimindo uma mensagem na tela
print 'Primeiro programa em Python!'
Tec. em Sistemas para Internet - IFMS 23
Repetindo mensagens na tela
print 'Imprimindo esta linha 3 vezesn' * 3
Tec. em Sistemas para Internet - IFMS 24
Imprimindo caracteres especiais
# Esta frase foi comentada!
# coding=utf­8
# A linha acima serve para permitir 
#o uso de caracteres especiais no 
#script
print 'Olá mundo!á$üçêõ'
Tec. em Sistemas para Internet - IFMS 25
Declarando variáveis
variavel = 4
print variavel
variavel = 'Professor Sidney'
print variavel
variavel = True
print variavel
Tec. em Sistemas para Internet - IFMS 26
Operações matemáticas
# coding=utf­8
numero = 54
outro_numero = numero ** numero # Exponenciação
# Python lida muito bem com números
# de alta precisão!
# Imprime o valor: 
# 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789056
print outro_numero
outro_numero ­= 1
# Imprime o valor: 
# 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789055
print outro_numero
outro_numero = numero * 3 + (­numero)
print outro_numero # 108
outro_numero = (outro_numero * 1.0) / 9374561724139
print outro_numero # 1.15205385786e­11
Tec. em Sistemas para Internet - IFMS 27
Operações lógicas
condicao1 = True
condicao2 = False
resultado = condicao1 and condicao2
print resultado # False
resultado = condicao1 or condicao2
print resultado # True
resultado = condicao1 and not condicao2
print resultado # True
resultado = condicao1 and not(False or condicao1) and not condicao2
print resultado # False
Tec. em Sistemas para Internet - IFMS 28
Sequência de Fibonacci
(usando um laço for)
# coding=utf­8
numero = 1
anterior = 0
quantidade_numeros = 10
for _ in range(quantidade_numeros):
    # A identação é obrigatória!
    print '%d '%numero,
    aux = numero
    numero += anterior
    anterior = aux
Tec. em Sistemas para Internet - IFMS 29
Sequência de Fibonacci
(usando um laço while)
numero = 1
anterior = 0
quantidade_numeros = 10
contador = 0
while contador < quantidade_numeros:
    print '%d '%numero,
    aux = numero
    numero += anterior
    anterior = aux
    contador += 1
Tec. em Sistemas para Internet - IFMS 30
Controlando o fluxo de execução
# coding=utf­8
lista = range(10) 
for numero in lista:
    numero += 1
    if numero % 2 == 0:
        print '%d é par'%numero
    elif numero % 3 == 0:
        print '%d é divisível por 3'%numero
    else:
        print '%d é ímpar e não divisível por 3'%numero
Tec. em Sistemas para Internet - IFMS 31
Controlando o fluxo de execução
# coding=utf­8
lista = range(10) 
for numero in lista:
    numero += 1
    print "%d é par"%numero if numero % 2 == 0 else "%d é ímpar"%numero
Tec. em Sistemas para Internet - IFMS 32
Lendo uma string do usuário
frase = raw_input("Digite uma frase: ")
print frase
Tec. em Sistemas para Internet - IFMS 33
Lendo um número do usuário
# coding=utf­8
numero = raw_input("Digite um número: ")
if numero.isdigit():
    print "Número digitado: %s"%numero
else:
    print "O valor digitado não é um número!"
Tec. em Sistemas para Internet - IFMS 34
… to be continued!
Tec. em Sistemas para Internet - IFMS 35
Links de referência
Python: Cabe no seu bolso, no seu micro, no seu cérebro. Disponível em
http://www.slideshare.net/rodsenra/unicampago2010pdf. Acessado em 28 de abril de 2013.
Python (programming language): Which Internet companies use Python. Disponível em
http://www.quora.com/Python-programming-language-1/Which-Internet-companies-use-Python. Acessado em 28 de abril
de 2013.
Python Sucess Stories. Disponível em http://www.python.org/about/success/. Acessado em 28 de abril de 2013.

Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)

  • 1.
    Tecnologia em Sistemaspara Internet - IFMS Vamos aprender algo diferente? Introdução à linguagem Python (aula 1) Tópicos em Programação Prof.º Msc. Sidney Roberto de Sousa sidney.sousa@ifms.edu.br
  • 2.
    Tec. em Sistemaspara Internet - IFMS 2 O que veremos nesta aula? ● O que é Python? ● Porquê Python? ● Hands on: Instalação e configuração ● Hands on: Escrevendo programas em Python
  • 3.
    Tec. em Sistemaspara Internet - IFMS 3 O que é Python?
  • 4.
    Tec. em Sistemaspara Internet - IFMS 4 O que é Python? ● Linguagem de programação criada por Guido van Rossum ● Python é uma linguagem de alto nível ● Python é multiparadigma – Programação funcional – Programação imperativa – Programação orientada a objetos ● Python é uma linguagem dinâmica ● Pode ser utilizada como linguagem de script
  • 5.
    Tec. em Sistemaspara Internet - IFMS 5 Princípios (PEP 20 - The Zen of Python) ● Bonito é melhor que feio ● Explícito é melhor que implícito ● Simples é melhor que complexo ● Complexo é melhor que complicado ● Legibilidade é importante!
  • 6.
    Tec. em Sistemaspara Internet - IFMS 6 Porquê Python? ● Linguagem de propósito geral ● Multiplataforma e multiparadigma ● Fácil legibilidade ● Curva de aprendizado baixa ● Foco na produtividade → entregue mais cedo!
  • 7.
    Tec. em Sistemaspara Internet - IFMS 7 Índice TIOBE (Abril/2013)
  • 8.
    Tec. em Sistemaspara Internet - IFMS 8 Quem usa Python?
  • 9.
    Tec. em Sistemaspara Internet - IFMS 9 Chega de conversa! Vamos trabalhar?
  • 10.
    Tec. em Sistemaspara Internet - IFMS 10 Hands on: Instalação e configuração
  • 11.
    Tec. em Sistemaspara Internet - IFMS 11 Download http://www.python.org/getit/
  • 12.
    Tec. em Sistemaspara Internet - IFMS 12 Configuração: Windows Para poder executar o Python dentro de qualquer diretório via linha de comando, adicione o caminho da pasta bin (localizada dentro da pasta da instalação do Python) na variável de ambiente Path
  • 13.
    Tec. em Sistemaspara Internet - IFMS 13 Instalando bibliotecas Para instalar um novo componente/biblioteca para utilizar em seus programas escritos em Python, é necessário instalar a ferramenta pip
  • 14.
    Tec. em Sistemaspara Internet - IFMS 14 Instalando o pip no Windows ● Faça o download da última versão do pip neste link: https://pypi.python.org/pypi/pip#downloads ● Descomprima a pasta do pip ● Faça o download do easy installer para o Windows no link a seguir e o instale: https://pypi.python.org/pypi/setuptools ● No prompt do MS-DOS, entre na pasta do pip e execute o comando abaixo: python setup.py install
  • 15.
    Tec. em Sistemaspara Internet - IFMS 15 Instalando o pip no Ubuntu No shell, digite o comando abaixo: sudo apt-get install python-pip
  • 16.
    Tec. em Sistemaspara Internet - IFMS 16 Instalando novos componentes ● Para instalar um novo componente, use o pip em linha de comando. ● Ex.:O comando abaixo instala o componente Beautiful Soup: pip install beautifulsoup
  • 17.
    Tec. em Sistemaspara Internet - IFMS 17 Tudo configurado! Vamos programar?
  • 18.
    Tec. em Sistemaspara Internet - IFMS 18 Hands on: Escrevendo programas em Python
  • 19.
    Tec. em Sistemaspara Internet - IFMS 19 Usando o shell do Python $ python Python 2.7.4 (default, Apr 19 2013, 18:28:01)  [GCC 4.7.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 1+1 2 >>>'Repetindo o texto 3 vezes' * 3 'Repetindo o texto 3 vezes Repetindo o texto 3 vezes Repetindo o texto 3 vezes '
  • 20.
    Tec. em Sistemaspara Internet - IFMS 20 Escrevendo scripts ● Escreva o seu programa Python em seu editor de texto preferido ● Salve o seu script com a extensão .py ● Execute o seu script no shell com o comando python: python NOME_DO_SCRIPT.py
  • 21.
    Tec. em Sistemaspara Internet - IFMS 21 A seguir, alguns exemplos!
  • 22.
    Tec. em Sistemaspara Internet - IFMS 22 Imprimindo uma mensagem na tela print 'Primeiro programa em Python!'
  • 23.
    Tec. em Sistemaspara Internet - IFMS 23 Repetindo mensagens na tela print 'Imprimindo esta linha 3 vezesn' * 3
  • 24.
    Tec. em Sistemaspara Internet - IFMS 24 Imprimindo caracteres especiais # Esta frase foi comentada! # coding=utf­8 # A linha acima serve para permitir  #o uso de caracteres especiais no  #script print 'Olá mundo!á$üçêõ'
  • 25.
    Tec. em Sistemaspara Internet - IFMS 25 Declarando variáveis variavel = 4 print variavel variavel = 'Professor Sidney' print variavel variavel = True print variavel
  • 26.
    Tec. em Sistemaspara Internet - IFMS 26 Operações matemáticas # coding=utf­8 numero = 54 outro_numero = numero ** numero # Exponenciação # Python lida muito bem com números # de alta precisão! # Imprime o valor:  # 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789056 print outro_numero outro_numero ­= 1 # Imprime o valor:  # 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789055 print outro_numero outro_numero = numero * 3 + (­numero) print outro_numero # 108 outro_numero = (outro_numero * 1.0) / 9374561724139 print outro_numero # 1.15205385786e­11
  • 27.
    Tec. em Sistemaspara Internet - IFMS 27 Operações lógicas condicao1 = True condicao2 = False resultado = condicao1 and condicao2 print resultado # False resultado = condicao1 or condicao2 print resultado # True resultado = condicao1 and not condicao2 print resultado # True resultado = condicao1 and not(False or condicao1) and not condicao2 print resultado # False
  • 28.
    Tec. em Sistemaspara Internet - IFMS 28 Sequência de Fibonacci (usando um laço for) # coding=utf­8 numero = 1 anterior = 0 quantidade_numeros = 10 for _ in range(quantidade_numeros):     # A identação é obrigatória!     print '%d '%numero,     aux = numero     numero += anterior     anterior = aux
  • 29.
    Tec. em Sistemaspara Internet - IFMS 29 Sequência de Fibonacci (usando um laço while) numero = 1 anterior = 0 quantidade_numeros = 10 contador = 0 while contador < quantidade_numeros:     print '%d '%numero,     aux = numero     numero += anterior     anterior = aux     contador += 1
  • 30.
    Tec. em Sistemaspara Internet - IFMS 30 Controlando o fluxo de execução # coding=utf­8 lista = range(10)  for numero in lista:     numero += 1     if numero % 2 == 0:         print '%d é par'%numero     elif numero % 3 == 0:         print '%d é divisível por 3'%numero     else:         print '%d é ímpar e não divisível por 3'%numero
  • 31.
    Tec. em Sistemaspara Internet - IFMS 31 Controlando o fluxo de execução # coding=utf­8 lista = range(10)  for numero in lista:     numero += 1     print "%d é par"%numero if numero % 2 == 0 else "%d é ímpar"%numero
  • 32.
    Tec. em Sistemaspara Internet - IFMS 32 Lendo uma string do usuário frase = raw_input("Digite uma frase: ") print frase
  • 33.
    Tec. em Sistemaspara Internet - IFMS 33 Lendo um número do usuário # coding=utf­8 numero = raw_input("Digite um número: ") if numero.isdigit():     print "Número digitado: %s"%numero else:     print "O valor digitado não é um número!"
  • 34.
    Tec. em Sistemaspara Internet - IFMS 34 … to be continued!
  • 35.
    Tec. em Sistemaspara Internet - IFMS 35 Links de referência Python: Cabe no seu bolso, no seu micro, no seu cérebro. Disponível em http://www.slideshare.net/rodsenra/unicampago2010pdf. Acessado em 28 de abril de 2013. Python (programming language): Which Internet companies use Python. Disponível em http://www.quora.com/Python-programming-language-1/Which-Internet-companies-use-Python. Acessado em 28 de abril de 2013. Python Sucess Stories. Disponível em http://www.python.org/about/success/. Acessado em 28 de abril de 2013.